Каква е разликата между Match и Boolean в Elasticsearch?

Kakva E Razlikata Mezdu Match I Boolean V Elasticsearch



Elasticsearch е търсачка, използваща библиотеки Apache Lucene от езика за програмиране Java и се използва от милиони. Той позволява на потребителя да съхранява данни в своята база данни за анализ и потребителят може също така да създава индекси и да съхранява данни в тях. Потребителят може също да прилага различни заявки, за да получи данни от таблиците/индексите и да получи полезна информация чрез това.

Това ръководство ще обясни разликата между Match и Boolean заявки в Elasticsearch.







Какво е съвпадението в Elasticsearch?

Заявката за съвпадение в Elasticsearch е много проста, тъй като съдържа пълнотекстово условие за получаване на данни от базата данни. Заявката за съвпадение взема данните от индекса и ги превръща в масив и след това търси желаните ключови думи от него, което прави извличането на данни ефективно.



Какво е Boolean в Elasticsearch?

Булевата заявка в Elasticsearch комбинира множество заявки в булеви изрази и показва получения документ от базата данни. Булевата заявка има множество клаузи, които са както следва:



    • трябва да
    • филтър
    • Трябва
    • не трябва

Каква е разликата между Match и Boolean в Elasticsearch?

Следващият раздел обяснява разликата между Match и Boolean агрегиране с помощта на примери. Нека следваме следната процедура:





Свържете се с Elasticsearch и Kibana

За да използвате Match и Boolean заявките в Elasticsearch, отворете терминала от директорията bin на Elasticsearch и използвайте следната команда:



elasticsearch.bat



След това отидете в директорията bin на Kibana от локалната система, за да отворите терминала и използвайте следната команда:

kibana.bat



Използвайте localhost с номер на порт 9200 в уеб браузъра, за да влезете в Elasticsearch:

локален хост: 9200



Отново използвайте localhost в уеб браузъра, но с номер на порт 5601, за да влезете в потребителския интерфейс на Kibana:

локален хост: 5601



Насочете се към „ Инструменти за разработка ” от страницата на Kibana от лентата за търсене:


Синтаксис на заявката за съвпадение

Следва основният синтаксис на заявката за съвпадение с GET заявка за извличане на данни:

ВЗЕМЕТЕ / _Търсене
{
'запитване' : {
'съвпада' : {
'съобщение' : {
'запитване' : 'Това е тест'
}
}
}
}


Горният фрагмент предполага:

    • Кодът започва с a ВЗЕМЕТЕ заявка с помощта API за търсене за извличане на данни от база данни и потребителят може да добави индексно име след ключовата дума GET.
    • The заявка ключовата дума съдържа съвпада клауза, която получава съобщение от индекса или базата данни и след това данни се споменава в заявка фраза в края.

Използвайте заявка за съвпадение

Този раздел обяснява практически пример за използване на заявката за съвпадение и показва данните от демо-индекс с помощта на a ВЗЕМЕТЕ заявка:

ВЗЕМЕТЕ / демо-индекс / _Търсене



Използвайте следния код, за да изпълните заявката за съвпадение в Elasticsearch на „ демо-индекс ”, за да приложите заявка на „ Уотсън ” име:

ВЗЕМЕТЕ / демо-индекс / _Търсене
{
'запитване' : {
'съвпада' : {
'име' : {
'запитване' : 'уотсън'
}
}
}
}



Синтаксис на булева заявка

Следва основният синтаксис на булевата заявка с GET заявка за извличане на данни от базата данни:

ВЗЕМЕТЕ / _Търсене
{
'запитване' : {
'bool' : {
'клауза' : {
'поле' : 'термин'
}
}
}
}


Горният фрагмент предполага:

    • The ВЗЕМЕТЕ заявката се използва за извличане на данни от индекса с помощта API за търсене .
    • The заявка ключовата дума съдържа bool за заявката, която съдържа нейния клауза за да приложите заявката към индекса или базата данни и след това данни се извлича и показва на екрана.

Използвайте Boolean Query

Следната заявка използва булевата заявка, за да получи данни от „ демо-индекс ' използвайки ' трябва да клауза и комбиниране на две заявки на „ Обозначаване ' с ' Име ”:

ВЗЕМЕТЕ / демо-индекс / _Търсене
{
'запитване' : {
'bool' : {
'трябва да' : [
{
'термин' : {
'Обозначаване' : 'Добър във всичко'
}
} ,
{
'термин' : {
'Име' : 'Андерсън'
}
}
]
}
}
}


Тази комбинация ще създаде булев израз за прилагане на заявката към индекса:


Това е всичко за разликите между Match и Boolean заявки в Elasticsearch.

Заключение

Match и Boolean са две заявки, използвани в Elasticsearch за получаване на данни от базата данни за анализ или от индекса, създаден от потребителя. Заявката за съвпадение преобразува данните в масиви и извлича данни от масива, за да направи процеса по-ефективен. Булевата заявка прилага множество заявки, за да направи едно изявление и прилага заявка към индекса за извличане на данни. Това ръководство обяснява разликите между Match и Boolean заявките в Elasticsearch за получаване на данни от базата данни.