Jak zrobić zakochanie Elasticsearch

Jak zrobić zakochanie Elasticsearch
Możesz wykonać zagnieżdżone zapytanie w ElasticSearch, używając zagnieżdżonego parametru. Zagnieżdżone zapytanie przeszuka zagnieżdżone obiekty polowe i zwróci główne rodzica dokumentu, jeśli istnieje dopasowany obiekt.

Jak używać zagnieżdżonego zapytania

Aby uruchomić zagnieżdżone zapytanie, musisz mieć indeks, który obejmuje zagnieżdżone mapowanie.

Poniższe zapytanie tworzy indeks z zagnieżdżonym mapowaniem pola.

Umieść zagnieżdżone indeks

„Mapowania”:
"nieruchomości":
"klienci":
„Typ”: „zagnieżdżony”



Następnie utwórz dokument zawierający zagnieżdżone typy pola i niektóre dane, jak pokazano w pytaniu z przykładem poniżej:

Umieść zagnieżdżone indeks/_doc/1

„Kategoria”: „Electronic_purchases”,
"klienci": [

„First_name”: „Barbra”,
„Last_name”: „Walker”
,

„First_name”: „Michael”,
„Last_name”: „Jean”
,

„First_name”: „Hannah”,
„Last_name”: „Newsome”

]

Aby uruchomić zagnieżdżone zapytanie, możemy wykonać przykład taki jak ten pokazany poniżej:

Uzyskaj zagnieżdżone indeks/_search

"zapytanie":
„Zagnieżdżone”:
„Ścieżka”: „Klienci”,
"zapytanie":
„Bool”:
"musieć": [
"mecz":
"klienci.First_name „:„ Hannah ”


]

,
„Inner_hits”: "expert": "fields": "klienci.imię":


Przykładowa odpowiedź z powyższego zapytania znajduje się poniżej:

Zagnieżdżone zapytanie używa parametrów jako:

  1. Ścieżka - Parametr ścieżki określa ścieżkę do zagnieżdżonego obiektu, pod którym do wykonywania zapytania wyszukiwania. Ten parametr jest wymagany.
  2. Zapytanie - Ten parametr określa zapytanie do wykonania na dostarczonej zagnieżdżonej ścieżce. Podobnie jak parametr ścieżki, parametr zapytania jest nieopcyjny.
  3. Bool - Pytanie boolean zapewnia, że ​​dokumenty pasują do określonego warunku. Kiedy masz ustawione na zapytanie boolean, klauzula zestawu musi znajdować się w rekordzie pasującej. Rozważ dokumentację o zapytaniu boolean, aby dowiedzieć się więcej.
  4. Inner_hits - To powrót według poszukiwania w odpowiedzi na zagnieżdżoną odpowiedź. Akceptuje opcje takie jak wyróżnienie, a następnie pole do wyróżnienia.

Wielopoziomowe zapytania zagnieżdżone

Możesz także mieć wielopoziomowe zapytania zagnieżdżone, jak pokazano w indeksie przykładowym:

Put /Użytkownicy

„Mapowania”:
"nieruchomości":
"nazwa użytkownika":
„Typ”: „zagnieżdżony”,
"nieruchomości":
"imię":
"Wpisz tekst"
,
"e-mail":
„Typ”: „zagnieżdżony”,
"nieruchomości":
„Dostawca”:
"Wpisz tekst"
,
"prefiks":
"Wpisz tekst"







Dodaj kilka dokumentów z danymi jako:

Put/Users/_doc/1

"nazwa użytkownika":
„First_name”: „David”,
"e-mail": [

„Dostawca”: „Gmail.com ",
„Prefiks”: „David123@”
,

„Dostawca”: „Hotmail.com ",
„Prefiks”: „Davidy123@”

]


Put/Users/_DOC/2

"nazwa użytkownika":
„First_name”: „Lucy”,
"e-mail": [

„Dostawca”: „Outlook.com ",
„Prefiks”: „Lucymail@”
,

„Dostawca”: „protonmail.com ",
„Prefiks”: „Lucyp@”

]

Aby wykonać wielopoziomowe zakochane zapytanie, wykonaj żądanie jako:

Pobierz /użytkownicy /_Search

"zapytanie":
„Zagnieżdżone”:
„Ścieżka”: „nazwa użytkownika”,
"zapytanie":
„Zagnieżdżone”:
„Ścieżka”: „nazwa użytkownika.e-mail",
"zapytanie":
„Bool”:
"musieć": [
"mecz":
"nazwa użytkownika.e-mail.Dostawca „:„ Gmail.com "

]






Przykład odpowiedzi z powstałego zapytania znajduje się poniżej:

W zamknięciu

W tym przewodniku omówiono, jak uruchomić zagnieżdżone i wielopoziomowe zakochane w Elasticsearch.