Wildcard Query ElasticSearch

Wildcard Query ElasticSearch

Karta wieloznaczna odnosi się do specjalnego charakteru zastępczego interpretowanego i zastąpionego różnymi iteracji na podstawie jej lokalizacji. Korzystanie z wieloznacznych jest powszechne podczas przeprowadzania wyszukiwań, szczególnie tam, gdzie wyszukiwanie docelowe nie jest dokładnie znane.

W ElasticSearch istnieją dwa sposoby wyszukiwania przedmiotów bez znajomości dokładnego dopasowania. Pierwszym z nich jest użycie rozmycia (sprawdź nasz samouczek na ten temat), a drugim jest użycie Wyszukiwarka z karty Wildcard.

Ten samouczek nauczy Cię, jak korzystać z zapytań dotyczących wyszukiwania wieloznacznych do zlokalizowania przedmiotów bez znajomości dokładnego dopasowania.

Podstawowe użycie

Aby zilustrować, jak korzystać z zapytania ElasticSerch Wildcard, użyjemy indeksu danych Kibana-Sample-commerce.

W indeksie mamy informacje klientów. Załóżmy, że chcemy uzyskać wyniki, w których imię klienta pasuje do j*y.

Możemy wykonać zapytanie, jak pokazano:

Get /kibana_sample_data_ecommerce /_search?ładny

"zapytanie":
"dzika karta":
„Customer_first_name”:
„Wartość”: „J*N”,
„Boost”: 2



Jeśli wykonamy żądanie indeksu, powinniśmy uzyskać dokumenty, w których nazwa klienta_first_name zaczyna się od J i kończy się n.

Przykładowy zrzut ekranu odpowiedzi znajduje się poniżej:

Załóżmy, że znamy dokładną liczbę znaków w nazwie. Na przykład nie jesteśmy pewni, czy to Jim czy Jimmy; Możemy użyć ? postać jako:

Get /kibana_sample_data_ecommerce /_search?ładny

"zapytanie":
"dzika karta":
„Customer_first_name”:
„Wartość”: „J?M*",
„Boost”: 2



Przykładowe zapytanie powinno zwrócić dokumenty, w których imię zaczyna się od J, zawiera jedną postać, a następnie list M i inne znaki.

Poniżej znajduje się przykładowa odpowiedź:

Parametry zapytania wieloznaczne

Możesz określić różne parametry, aby zmodyfikować, w jaki sposób funkcjonuje zapytanie wieloznaczne. Takie parametry obejmują:

  1. Pole - Pole do wyszukiwania pasującego wzoru. Ten parametr nie jest opcjonalny. W naszym powyższym przykładzie pole jest ustawione na nazwę klienta_first_name.
  2. Wartość - To określa wzór wieloznaczny do wyszukiwania. Pojedynczy znak zapytania wskazuje pojedynczy znak, podczas gdy * oznacza zero lub więcej znaków, w tym pusty znak. Parametr wartości nie jest opcjonalny.
  3. Zwiększyć - Parametr wzmocnienia zwiększa lub zmniejsza masę wyniku zapytania wyszukiwania. Jest to opcjonalny parametr i jest ustawiony na 1.0 domyślnie. Aby zwiększyć masę wyniku, ustaw wartość wyższą niż 1.0 i wartość mniejsza niż 1.0, aby zmniejszyć wynik.

Wniosek

W tym artykule wyjaśniliśmy, jak korzystać z zapytań dotyczących dzikiego karty w Elasticsearch. Rozważ dokumentację lub nasze tematy dotyczące elasticsearch, aby dowiedzieć się więcej.