Elasticsearch не поддерживает это.
Elasticsearch имеет функции для "автоматического определения", какой должен быть тип поля.Однако в первый раз, когда он видит поле, он сделает свое предположение, и затем каждая последующая запись, имеющая это поле, должна будет соответствовать.
В вашем случае, если запись, где firstName
была строкойсначала был проиндексирован, а затем все записи, где firstName
является объектом, будут выдавать ошибку при попытке проиндексировать их в Elasticsearch.Если объект был проиндексирован первым, все записи, в которых firstName
является строкой, потерпят неудачу.
Elasticsearch разработан, чтобы помочь вам быстро начать работу, но, в конечном счете, ярлыка нет, и вам придется:
- Разработка схемы, которая указывает правильные настройки Elasticsearch для использования для каждого поля
- Выполните работу в своем коде, которая импортирует записи в Elasticsearch, чтобы принять решение о том, как вы хотите их импортировать