Jaka jest różnica między zapytaniem rozmytym a zapytaniem o dopasowanie?

Jaka Jest Roznica Miedzy Zapytaniem Rozmytym A Zapytaniem O Dopasowanie



Elasticsearch to dobrze znana, bezpłatna, analityczna i rozproszona wyszukiwarka oraz baza danych o otwartym kodzie źródłowym i bazie danych, która służy do zarządzania różnymi typami danych. Jest to wyłącznie baza danych NoSQL i działa inaczej niż typowe bazy danych SQL i relacyjne bazy danych. Elasticsearch używa zapytań DSL ((język specyficzny dla domeny) i interfejsów API REST do zarządzania danymi i analizowania ich. W Elasticsearch istnieją różne typy zapytań, takie jak zapytanie rozmyte, zapytanie o dopasowanie, zapytanie o symbol wieloznaczny, zapytanie przedrostkowe i wiele innych. Zapytania te działają inaczej. od siebie nawzajem.

Ten post pokazuje:

Co to jest zapytanie „rozmyte”?

zamazany ” zapytanie to zapytanie DSL, które wykonuje inne operacje wyszukiwania, takie jak zmiana znaku, wstawienie znaku lub usunięcie znaku w oparciu o „ Odległość edycji Levenshteina ' dystans. Zwykle znajduje różnicę między terminami i zwraca wynik w dokumencie bliższym lub prawie podobnym do wyszukiwanego hasła.







Co to jest zapytanie „dopasowujące”?

mecz ” zapytanie to inny typ zapytania DSL, który służy do dopasowywania lub wyszukiwania podanych danych, takich jak ciąg znaków, liczba lub tekst. To jest ' pełny tekst ” i przeprowadza wyszukiwanie pełnotekstowe i zwraca wyniki dokładnie pasujące do wyszukiwanego hasła. Jeśli termin nie pasuje do wyszukiwanego hasła, zwróci ciąg pusty lub fałsz.



Różnica między zapytaniem „rozmytym” a zapytaniem „dopasowującym”.

Obydwa ' zamazany ' I ' mecz ” zapytania służą do celów wyszukiwania. Kluczowa różnica między tymi dwoma zapytaniami polega na tym, że zapytanie „rozmyte” powoduje wyszukiwanie rozmyte i zwraca wynik podobny lub zbliżony do wyszukiwanego hasła. Natomiast zapytanie „dopasuj” zwraca wyniki dokładnie pasujące do wyszukiwanego hasła.



Aby lepiej zrozumieć, skorzystaj z poniższych przykładów:





Przykład 1: Wyszukiwanie rozmyte przy użyciu zapytania „rozmytego”.

Załóżmy, że użytkownik chce znaleźć dokument zawierający „ Przeznaczenie wartość jako „ Autor ”. Przeprowadźmy wyszukiwanie, które znajdzie bliższe dopasowanie. Aby to zrobić, użyj opcji „ zamazany ” zapytanie, aby przeszukać dokument zawierający „ Przeznaczenie ” wartość równa lub bliższa „ autor ”:

POBIERZ Linuxhinta / _szukaj

{

'zapytanie' : {

'zamazany' : {

'Przeznaczenie' : 'autor'

}

}

}

Poniższe dane wyjściowe pokazują, że dokument mający identyfikator „ 1 ' ma ' Przeznaczenie ” wartość zbliżona do „ autor wyszukiwane hasło:



Ale jeśli powyższy przykład zostanie zastosowany przez „ mecz ”, wyśle ​​zapytanie „ ciąg zerowy ”, ponieważ zwraca dokładnie pasujący termin.

Przykład 2: Wyszukiwanie rozmyte przy użyciu zapytania „Dopasuj”.

Weźmy ten sam przykład i zastosujmy „ mecz ”, aby znaleźć dokument posiadający „ Przeznaczenie wartość jako „ autor ”:

POBIERZ Linuxhinta / _szukaj

{

'zapytanie' : {

'mecz' : {

'Przeznaczenie' : 'autor'

}

}

}

Poniższe dane wyjściowe pokazują, że „ mecz ” zapytanie nie znajduje bliższych wyników i zwraca „ zero ' strunowy:

Zmodyfikujmy szukaną wartość z „ autor ' Do ' Autor ” i uruchom „ mecz ” zapytanie jak pokazano poniżej:

POBIERZ Linuxhinta / _szukaj

{

'zapytanie' : {

'mecz' : {

'Przeznaczenie' : 'Autor'

}

}

}

Tutaj możesz zobaczyć „ mecz ” zapytanie zwraca dokument posiadający identyfikator „ 1 ”. Ponieważ dokument 1 dokładnie pasuje do wyszukiwanych haseł:

To tyle, jeśli chodzi o różnicę pomiędzy „ zamazany ” zapytanie i „ mecz ' zapytanie.

Wniosek

zamazany ” służy do wyszukiwania rozmytego i zwraca wyniki ściśle pasujące do wyszukiwanego hasła. Jednakże ' mecz ” zapytanie nie obsługuje wyszukiwania rozmytego i zwraca wyniki dokładnie pasujące do wyszukiwanego hasła. W tym blogu zilustrowano różnicę między zapytaniem rozmytym a zapytaniem dopasowującym.