Bool Joint küsimus: peab, peab, must_not
Kui tahame taotleda midagi sarnast nagu "content with BMW, aga mitte sildis", peame kasutama bool federated query't.
Ühispäring kasutab kolme märksõna: peab, peaks must_not.
Neid kolme saab mõista nii
must: Dokument peab täpselt vastama tingimustele
should: peaks sisaldama rohkem kui ühte tingimust, ja kui vähemalt üks tingimus on täidetud, siis see dokument vastab
must_not:Dokument ei tohi vastata kriteeriumidele
Ametliku veebilehe sissejuhatus:https://www.elastic.co/guide/cn/ ... bining-filters.html
Päring DSL-is
match_all Päring
Kõiki dokumente saab pärida ning see on vaikimisi lause ilma päringutingimusteta.
Seda päringut kasutatakse sageli filtrite ühendamiseks. Näiteks pead kõik postkastid kätte saama ja kogu dokumendi asjakohasus on sama, seega saad _score 1.
Matšipäring
Sobivuspäring on standardpäring, mida kasutatakse põhimõtteliselt nii täisteksti kui ka täpse päringu puhul.
Kui kasutad match'i täisteksti väljade pärimiseks, kasutab see analüsaatorit, et analüüsida päringu märgid enne päringut:
Kui määrad täpse väärtuse vastavuse all, otsib see sinu antud väärtust, kui kohtab arvu, kuupäeva, boole'i või not_analyzed stringi:
Nipp: Täpse vastavuse otsingul on kõige parem kasutada filtrilauseid, sest filtrilaused salvestavad andmeid.
Sobituspäring saab otsida ainult täpset väärtust, mis määrab täpse välja, ja kõik, mida pead tegema, on määrata õige välja nimi, et vältida süntaksivigu.
multi_match Päring
multi_match päring võimaldab sul otsida korraga mitut välja, tuginedes sobivale päringule, ja otsida ühte mitmest väljast samaaegselt:
BOOL päring
Bool-päringud on sarnased bool-filtreerimisega ja neid kasutatakse mitme päringuklausli ühendamiseks. Erinevus seisneb selles, et bool-filter saab otse öelda, kas sobitus on edukas, samas kui bool-päring arvutab iga päringuklausli _score (korrelatsiooniskoori).
must:: 查询指定文档一定要被包含。 must_not:: Päringu määratud dokumendid ei tohi olla lisatud.
should:: 查询指定文档,有则可以为文档相关性加分。
Järgmine päring näitab, et pealkirjaväljas on "kuidas teenida miljoneid" ja "silt" väli ei ole märgitud rämpspostiks. Kui need on märgitud kui "tärniga märgitud" või nende väljalaskekuupäev on enne 2014. aastat, siis on need vastavusdokumendid kõrgemal tasemel kui sarnased saidid:
Nipp: Kui bool-päringu all pole must-lauset, peaks olema vähemalt üks peaks-lause. Aga kui on olemas kohustuslause, siis päringut saab teha ka ilma vajadusklausliteta.
Wildcards päring
Kasuta standardseid kesta wildcard-päringuid
Järgmine päring vastab dokumentidele, mis sisaldavad W1F 7HW ja W2F 8HW:
Näiteks järgmine hostname'i päring vastab järgmisele shell wildcard'ile:
Regexp päring
Oletame, et soovid sobitada ainult sihtnumbrid, mis algavad W-ga ja järgnevad numbrid. Regexp-päringute kasutamine võimaldab kirjutada keerukamaid mustreid:
See regulaaravaldis määrab, et kirje peab algama W-ga, millele järgneb number 0 kuni 9 ja millele järgneb üks või mitu muud märki.
Järgmine näide on kõik regulaarsed algused wxopeniga
Eesliite päring
Millise tähemärgiga see algab, võid kasutada eesliitet lihtsamalt, nagu allolevas näites:
Fraasi sobitamine
Kui pead leidma paar sõna läheduses, kasutad match_phrase päringut:
Sarnaselt sobituspäringutele analüüsib match_phrase päringu esmalt päringustringi, et saada terminite nimekiri. See otsib kõiki kirjeid, Kuid säilitatakse ainult dokumendid, mis sisaldavad kõiki otsingutermineid, ning terminite asukohad peaksid olema kõrvuti. Päring fraasi Quick Fox kohta ei sobi Kõik meie dokumentatsioonid, kuna ükski dokumentatsioon ei sisalda kiir- ja kastikirjeid üksteise kõrval. match_phrase päringut saab kirjutada ka sobiva päringuna tüübifraasiga:
|