Hvordan bruke et nestet spørsmål
For å kjøre et nestet spørsmål, må du ha en indeks som inkluderer en nestet kartlegging.
Følgende spørring oppretter en indeks med en nestet feltkartlegging.
Sett nestet indeks
"Mappings":
"egenskaper":
"Kunder":
"type": "nestet"
Deretter lager du et dokument som inneholder nestede felttyper og noen data som vist i eksemplet på spørringen nedenfor:
Sett nestet-indeks/_doc/1
"Kategori": "Electronic_purchases",
"Kunder": [
"First_name": "Barbra",
"Last_name": "Walker"
,
"First_name": "Michael",
"Last_name": "Jean"
,
"First_name": "Hannah",
"Last_name": "Newsome"
]
For å kjøre et nestet spørsmål, kan vi utføre et eksempel som det som er vist nedenfor:
Få nestet-indeks/_Search
"spørring":
"Nested":
"Sti": "Kunder",
"spørring":
"bool":
"må": [
"kamp":
"Kunder.First_name ":" Hannah "
]
,
"Inner_hits": "Highlight": "Fields": "kunder.fornavn":
Et eksempel på svaret fra spørringen ovenfor er nedenfor:
Den nestede spørringen bruker parametere som:
Multi-nivå nestede spørsmål
Du kan også ha nestede spørsmål på flere nivåer som vist i eksempelindeksen:
Put /brukere
"Mappings":
"egenskaper":
"Brukernavn":
"type": "nestet",
"egenskaper":
"fornavn":
"Type": "Tekst"
,
"E -post":
"type": "nestet",
"egenskaper":
"forsørger":
"Type": "Tekst"
,
"prefiks":
"Type": "Tekst"
Legg til noen få dokumenter med dataene som:
Put/brukere/_doc/1
"Brukernavn":
"First_name": "David",
"E -post": [
"leverandør": "gmail.com ",
"Prefiks": "David123@"
,
"leverandør": "hotmail.com ",
"Prefiks": "Davidy123@"
]
Put/brukere/_doc/2
"Brukernavn":
"First_name": "Lucy",
"E -post": [
"leverandør": "Outlook.com ",
"Prefiks": "lucymail@"
,
"leverandør": "protonmail.com ",
"Prefiks": "Lucyp@"
]
For å utføre et nestet spørsmål på flere nivåer, utfør forespørselen som:
Få /brukere /_search
"spørring":
"Nested":
"Path": "Brukernavn",
"spørring":
"Nested":
"Sti": "Brukernavn.e -post ",
"spørring":
"bool":
"må": [
"kamp":
"Brukernavn.e -post.leverandør ":" gmail.com "
]
Et eksempel på responsen fra den resulterende spørringen er nedenfor:
I Avslutning
Denne guiden diskuterer hvordan du kjører nestede og flernivå nestede spørsmål i Elasticsearch.