Elasticsearch — это поисковая система, использующая библиотеки Apache Lucene из языка программирования Java, которую используют миллионы людей. Это позволяет пользователю хранить данные в своей аналитической базе данных, а также создавать индексы и хранить в них данные. Пользователь также может применять различные запросы для получения данных из таблиц/индексов и получать через них полезную информацию.
В этом руководстве объясняется разница между запросами Match и Boolean в Elasticsearch.
Что такое совпадение в Elasticsearch?
Запрос Match в Elasticsearch очень прост, поскольку содержит полнотекстовое условие для получения данных из базы данных. Запрос соответствия берет данные из индекса и превращает их в массив, а затем ищет в нем нужные ключевые слова, что делает его эффективным для извлечения данных.
Что такое логическое значение в Elasticsearch?
Логический запрос в Elasticsearch объединяет несколько запросов в логические операторы и отображает результирующий документ из базы данных. Логический запрос имеет несколько предложений, а именно:
-
- должен
- фильтр
- должен
- не должен
В чем разница между Match и Boolean в Elasticsearch?
В следующем разделе с помощью примеров объясняется разница между Match и логической агрегацией. Давайте следуем следующей процедуре:
Подключиться к Elasticsearch и Kibana
Чтобы использовать запросы Match и Boolean в Elasticsearch, откройте терминал из каталога bin Elasticsearch и используйте следующую команду:
elasticsearch.bat
После этого зайдите в каталог bin Kibana из локальной системы, чтобы открыть терминал, и используйте следующую команду:
Используйте локальный хост с номером порта 9200 в веб-браузере, чтобы войти в Elasticsearch:
Опять же, используйте локальный хост в веб-браузере, но с номером порта 5601 для входа в пользовательский интерфейс Kibana:
Голова внутри « Инструменты разработчика ” со страницы Kibana из строки поиска:
Синтаксис запроса соответствия
Ниже приведен основной синтаксис запроса Match с запросом GET для получения данных:
ПОЛУЧАТЬ / _поиск{
'запрос' : {
'соответствовать' : {
'сообщение' : {
'запрос' : 'Это проверка'
}
}
}
}
Приведенный выше фрагмент предлагает:
-
- Код начинается с ПОЛУЧАТЬ запрос с использованием API поиска для извлечения данных из база данных и пользователь может добавить имя индекса после ключевого слова GET.
- запрос ключевое слово содержит соответствовать оговорка, которая получает сообщение из индекса или базы данных, а затем данные упоминается в запрос фраза в конце.
Использовать запрос соответствия
В этом разделе объясняется практический пример использования запроса Match и отображаются данные из демо-индекс используя ПОЛУЧАТЬ запрос:
ПОЛУЧАТЬ / демо-индекс / _поиск
Используйте следующий код, чтобы выполнить запрос соответствия в Elasticsearch на странице « демо-индекс », чтобы применить запрос к « Уотсон ' имя:
{
'запрос' : {
'соответствовать' : {
'имя' : {
'запрос' : 'Ватсон'
}
}
}
}
Синтаксис логического запроса
Ниже приведен основной синтаксис логического запроса с запросом GET для извлечения данных из базы данных:
ПОЛУЧАТЬ / _поиск{
'запрос' : {
'буль' : {
'пункт' : {
'поле' : 'срок'
}
}
}
}
Приведенный выше фрагмент предлагает:
-
- ПОЛУЧАТЬ запрос используется для извлечения данных из индекса с использованием API поиска .
- запрос ключевое слово содержит логический для запроса, содержащего его пункт применить запрос к индексу или базе данных, а затем данные извлекается и отображается на экране.
Использовать логический запрос
Следующий запрос использует логический запрос для получения данных из « демо-индекс ' используя ' должен ” и объединив два запроса “ Обозначение ' с ' Имя ”:
ПОЛУЧАТЬ / демо-индекс / _поиск{
'запрос' : {
'буль' : {
'должен' : [
{
'срок' : {
«Обозначение» : 'Разносторонний человек'
}
} ,
{
'срок' : {
'Имя' : 'Андерсон'
}
}
]
}
}
}
Эта комбинация создаст логический оператор для применения запроса к индексу:
Вот и все различия между запросами Match и Boolean в Elasticsearch.
Заключение
Match и Boolean — это два запроса, которые используются в Elasticsearch для получения данных из базы данных аналитики или из индекса, созданного пользователем. Запрос соответствия преобразует данные в массивы и извлекает данные из массива, чтобы сделать процесс более эффективным. Логический запрос применяет несколько запросов для создания одного оператора и применяет запрос к индексу для извлечения данных. В этом руководстве объясняются различия между запросами Match и Boolean в Elasticsearch для получения данных из базы данных.