Точка типов в Elastic 6.x - PullRequest
0 голосов
/ 16 января 2019

ES новичок здесь, простой вопрос: какой смысл иметь тип в ES 6.x, если каждый индекс может иметь только один тип? Я заметил, что для вставки документа необходимо указать и тип, и индекс, но мне это кажется излишним.

1 Ответ

0 голосов
/ 16 января 2019

Цитирование https://www.elastic.co/guide/en/elasticsearch/reference/6.x/removal-of-types.html:

Индексы, созданные в 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.

Более подробную информацию вы можете найти по ссылке .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...