Is there a limit to the number of types one index can have?
Could an index hypothetically contain 1000's of types?
There is no limit on the number of types. However, please note that types that are stored on the same index cannot be totally unrelated. In particular, fields that share the same name need to have the same mappings (not only same type, but also same options). Elasticsearch currently does not enforce this and this leads to some bugs, but the upcoming 2.0 release will.
One practical limitation is that mappings for all types need to be stored in the cluster state, so by having gazillions of types, you make cluster state management more expensive.