Еластично търсене

Защо в ES v6 бяха премахнати типовете за картографиране на ES.0?

Защо в ES v6 бяха премахнати типовете за картографиране на ES.0?

Какво представляват типовете картографиране?

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

Всеки тип на картографиране има свои собствени полета. Например тип потребител може да има следните полета:


„id“: 123,
"name": "Shubham",
"уебсайт": 1

Друг тип картографиране в същия индекс уебсайт може да има следните полета, които са напълно различни от потребител Тип:


"id": 1,
"title": "LinuxHint",
"link": "https: // linuxhint.com / "

Докато търсите документ в индекс, търсенето може да е ограничено до един документ, като се посочи едно поле като:

ВЗЕМЕТЕ idx_name / потребител, уебсайт / _search

"заявка":
"съвпада":
"id": 1


The _Тип полето на документите беше комбинирано с неговото _документ за самоличност за генериране на _uid поле, така документи със същото _документ за самоличност може да съществува в един индекс.

Прочетете урок за Elasticsearch за начинаещи за по-задълбочено разбиране на Elasticsearch Architecture и започнете с него с Install ElasticSearch на Ubuntu.

Защо се премахват типовете на картографиране?

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

Алтернативи на типовете на картографиране

Въпреки че решението е взето, все още трябва да отделим различни видове данни. Първата алтернатива е сега отделни документи в собствен индекс което има две предимства:

Друга алтернатива на разделянето на данните е поддържането на потребителски _Тип поле във всеки документ, който вмъкваме, като:

ПОСТАВЕТЕ db_name / doc / 123

"type": "потребител",
„id“: 123,
"name": "Shubham",
"уебсайт": 1

ПОСТАВЕТЕ db_name / doc / уебсайт

"type": "уебсайт",
"id": 1,
"title": "LinuxHint",
"link": "https: // linuxhint.com / "

Това е отлично използване, ако търсите цялостно персонализирано решение.

График за премахване на типовете картографиране

Тъй като премахването на типовете на картографиране е голяма промяна, екипът на ES прави процеса бавно. Ето график за изваждането, извлечено от ластик.съвместно:

Заключение

В този урок разгледахме защо бяха премахнати типовете Elasticsearch Mapping и ще бъдат напълно неподдържани в следващите версии.

Урок Сянка на Tomb Raider за Linux
Shadow of the Tomb Raider е дванадесетото допълнение към поредицата Tomb Raider - франчайз за екшън-приключенска игра, създаден от Eidos Montreal. Игр...
Как да увеличите FPS в Linux?
FPS означава Кадри в секунда. Задачата на FPS е да измерва честотата на кадрите при възпроизвеждане на видео или игрални изпълнения. С прости думи бро...
Топ Oculus App Lab Games
Ако сте собственик на слушалки на Oculus, тогава трябва да знаете за странично зареждане. Sideloading е процесът на инсталиране на несъхранявано съдър...