Эластичный поиск

Почему типы сопоставления ES были удалены в ES v6.0?

Почему типы сопоставления ES были удалены в ES v6.0?

Что такое типы сопоставления?

В Elasticsearch каждый документ относится к индексу и типу. Индекс можно рассматривать как базу данных, тогда как тип можно рассматривать как таблицу по сравнению с реляционной базой данных. Тип сопоставления был логическим разделом объекта с другими объектами, которые принадлежали другим типам сопоставления в том же индексе.

Каждый тип сопоставления имеет свои собственные поля. Например, тип Пользователь могут иметь следующие поля:


"id": 123,
"name": "Шубхам",
«сайт»: 1

Другой тип сопоставления в том же индексе Веб-сайт могут иметь следующие поля, которые полностью отличаются от Пользователь тип:


"id": 1,
"title": "LinuxHint",
"ссылка": "https: // linuxhint.com / "

При поиске документа в индексе поиск можно было ограничить одним документом, указав одно поле как:

ПОЛУЧИТЬ idx_name / user, website / _search

"запрос":
"матч":
"id": 1


В _тип поле документов совмещено с его _я бы создать _uid поле так документы с тем же _я бы может существовать в одном индексе.

Прочтите руководство по Elasticsearch для начинающих, чтобы лучше понять архитектуру Elasticsearch и начать работу с ней, установив ElasticSearch в Ubuntu.

Почему удаляются типы сопоставлений?

Точно так же, как мы сказали выше, объясняя, чем индекс и типы были похожи на базу данных и таблицу в реляционной базе данных, команда Elasticsearch думала то же самое, но это не так, поскольку Lucene Engine не следует той же аналогии. Это происходит по следующим причинам:

Альтернативы типам сопоставления

Хотя решение принято, нам все же нужно разделить разные типы данных. Теперь первая альтернатива - отдельные документы в собственном индексе который имеет два преимущества:

Другой альтернативой разделению данных является сохранение пользовательского _тип в каждом документе, который мы вставляем, например:

PUT db_name / doc / 123

"тип": "пользователь",
"id": 123,
"name": "Шубхам",
«сайт»: 1

PUT db_name / doc / website

"тип": "сайт",
"id": 1,
"title": "LinuxHint",
"ссылка": "https: // linuxhint.com / "

Это отличное использование, если вы ищете полное индивидуальное решение.

График удаления типов сопоставления

Поскольку удаление типов сопоставления - это большое изменение, команда ES делает этот процесс медленно. Вот график раскатки, извлеченной из резинки.co:

Заключение

В этом уроке мы рассмотрели, почему типы сопоставления Elasticsearch были удалены и будут полностью не поддерживаться в следующих версиях.

Как показать счетчик FPS в играх для Linux
Игры для Linux получили серьезный толчок, когда Valve объявила о поддержке Linux для клиента Steam и своих игр в 2012 году. С тех пор многие игры AAA ...
Как загрузить и играть в Sid Meier's Civilization VI в Linux
Введение в игру Civilization 6 - это современный подход к классической концепции, представленной в серии игр Age of Empires. Идея была довольно просто...
Как установить Doom и играть в него в Linux
Введение в Doom Серия Doom возникла в 90-х годах после выхода оригинальной Doom. Это мгновенно стал хитом, и с тех пор серия игр получила множество на...