The complex datatypes supported by Elasticsearch are as follows:
- Array datatype: Arrays of the same types of instances. For example, arrays of strings, integers, and so on. Doesn't allow the mixing of datatypes in arrays.
- Object datatype: Allows inner objects within JSON documents.
- Nested datatype: Useful for supporting arrays of inner objects where each inner object needs to be independently queriable.