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:
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.