Индексы, созданные в Elasticsearch 6.0.0 или более поздней версии, могут содержать только
один тип отображения. Индексы, созданные в 5.x с множественным отображением
типы будут продолжать функционировать, как и раньше в Elasticsearch 6.x.
Типы сопоставления будут полностью удалены в Elasticsearch 7.0.0.
Почему удаляются типы сопоставления?
Первоначально мы говорили о том, что «индекс» подобен «базе данных» в
база данных SQL и «тип», эквивалентный «таблице».
Это была плохая аналогия, которая привела к неверным предположениям. В SQL
базы данных, таблицы независимы друг от друга. Колонны в одном
таблица не имеет отношения к столбцам с таким же именем в другой таблице.
Это не относится к полям в типе отображения.
В индексе Elasticsearch поля с одинаковыми именами в разных
Типы отображения внутренне поддерживаются одним и тем же полем Lucene. В других
словами, используя приведенный выше пример, поле user_name
в типе user
хранится в том же поле, что и поле user_name
в
Тип tweet
, и оба поля user_name
должны иметь одинаковое отображение
(определение) в обоих типах.
Это может привести к разочарованию, например, когда вы хотите, чтобы deleted
было
поле date
в одном типе и поле boolean
в другом типе в
тот же индекс.
Вдобавок к этому, хранение различных сущностей, которые имеют мало полей или не имеют их.
общее в том же индексе приводит к разреженным данным и мешает
Способность Lucene эффективно сжимать документы.
По этим причинам мы решили убрать концепцию отображения
типы от Elasticsearch.