В чем разница между нечетким запросом и запросом на совпадение?

V Cem Raznica Mezdu Necetkim Zaprosom I Zaprosom Na Sovpadenie



Elasticsearch — это известная, бесплатная, аналитическая и распределенная поисковая система и база данных с открытым исходным кодом, которая используется для управления различными типами данных. Это чисто база данных NoSQL, которая работает иначе, чем типичные SQL и реляционные базы данных. Elasticsearch использует запросы DSL ((доменный язык) и API REST для управления и анализа данных. В Elasticsearch существуют различные типы запросов, такие как нечеткий запрос, запрос на совпадение, запрос с подстановочными знаками, префиксный запрос и многие другие. Эти запросы работают по-разному. друг от друга.

Этот пост демонстрирует:

Что такое «нечеткий» запрос?

« нечеткий «Запрос» — это запрос DSL, который выполняет поиск и другие операции, такие как изменение символа, вставка символа или удаление символа на основе « Расстояние редактирования Левенштейна расстояние. Обычно он находит разницу между терминами и возвращает результат в документе, который ближе или почти похож на искомый термин.







Что такое запрос на совпадение?

« соответствовать Запрос — это еще один тип запроса DSL, который используется для сопоставления или поиска заданных данных, таких как строка, число или текст. Это ' полный текст » на основе запроса, выполняет полнотекстовый поиск и возвращает результаты, точно соответствующие искомому слову. Если термин не соответствует критерию поиска, он вернет нулевую строку или ложь.



Разница между «нечетким» и «соответствующим» запросом

Оба ' нечеткий ' и ' соответствовать Запросы » используются для целей поиска. Ключевое различие между этими двумя запросами заключается в том, что «нечеткий» запрос выполняет нечеткий поиск и возвращает результат, похожий или близкий к искомому термину. Напротив, запрос «соответствие» возвращает результаты, которые точно соответствуют искомому слову.



Для лучшего понимания следуйте приведенным ниже примерам:





Пример 1. Нечеткий поиск с использованием «нечеткого» запроса

Предположим, пользователь хочет найти документ, который имеет « Обозначение значение как « Автор ». Давайте выполним поиск, который найдет более близкое совпадение. Для этого воспользуйтесь функцией « нечеткий ” запрос для поиска документа, который имеет “ Обозначение значение, равное или близкое к « автор »:

ПОЛУЧИТЬ LinuxHint / _поиск

{

'запрос' : {

'нечеткий' : {

«Обозначение» : 'автор'

}

}

}

Вывод ниже показывает, что документ с идентификатором « 1 ' имеет ' Обозначение значение, близкое к значению « автор » искомый термин:



Но если приведенный выше пример применяется « соответствовать запрос», он отправит запрос « нулевая строка », поскольку он возвращает точно соответствующий термин.

Пример 2. Нечеткий поиск с использованием запроса «Соответствие»

Давайте возьмем тот же пример и применим « соответствовать ” запрос, чтобы найти документ, имеющий “ Обозначение значение как « автор »:

ПОЛУЧИТЬ LinuxHint / _поиск

{

'запрос' : {

'соответствовать' : {

«Обозначение» : 'автор'

}

}

}

Вывод ниже показывает, что « соответствовать ” запрос не находит более близких результатов и возвращает “ нулевой ' нить:

Давайте изменим искомое значение с « автор ' к ' Автор » и запустите « соответствовать », как показано ниже:

ПОЛУЧИТЬ LinuxHint / _поиск

{

'запрос' : {

'соответствовать' : {

«Обозначение» : 'Автор'

}

}

}

Здесь вы можете увидеть « соответствовать ” запрос возвращает документ с идентификатором “ 1 ». Потому что документ 1 точно соответствует искомым критериям:

Вот и вся разница между « нечеткий ” запрос и “ соответствовать ' запрос.

Заключение

« нечеткий Запрос «» используется для нечеткого поиска и возвращает результаты, которые точно соответствуют искомому слову. Однако ' соответствовать Запрос не поддерживает нечеткий поиск и возвращает результаты, точно соответствующие искомому слову. В этом блоге продемонстрирована разница между нечетким запросом и запросом на совпадение.