Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 20947|Atsakyti: 1

"ElasticSearch" sudėtinės užklausos turi, turėtų must_not naudoti

[Kopijuoti nuorodą]
Paskelbta 2018-12-28 12:01:09 | | |
Bool bendra užklausa: turi, turėtų, must_not

Jei norime prašyti kažko panašaus į "turinys su BMW, bet ne žymoje", turime naudoti bool federated query.

Bendroje užklausoje bus naudojami trys raktiniai žodžiai: turi, turėtų, must_not.

Šiuos tris galima suprasti taip

must: Dokumentas turi tiksliai atitikti sąlygas
should: turėtų turėti daugiau nei vieną sąlygą, o jei tenkinama bent viena sąlyga, šis dokumentas atitiks
must_not:Dokumentas neturi atitikti kriterijų

Oficialus svetainės pristatymas:https://www.elastic.co/guide/cn/ ... bining-filters.html

Užklausos DSL

match_all užklausa

Galima pateikti užklausą dėl visų dokumentų, ir tai yra numatytasis sakinys be užklausos sąlygų.


Ši užklausa dažnai naudojama filtrams sulieti. Pavyzdžiui, turite nuskaityti visas pašto dėžutes, o visų dokumentų aktualumas yra vienodas, todėl gaunamas _score yra 1.

Atitikties užklausa

Atitikties užklausa yra standartinė užklausa, kuri iš esmės naudojama nesvarbu, ar jums reikia viso teksto užklausos, ar tikslios užklausos.

Jei naudojate atitiktį viso teksto lauko užklausai, analizatorius naudos užklausos simbolius prieš faktinę užklausą:



Jei nurodysite tikslią reikšmę dalyje atitiktis, ji ieškos nurodytos reikšmės, kai aptiks skaičių, datą, loginį arba not_analyzed eilutę:


Patarimas: atliekant tikslios atitikties paiešką geriausia naudoti filtro sakinius, nes filtrų išrašai talpykloje kaupia duomenis.

Atitikties užklausa gali ieškoti tik tikslios reikšmės, nurodančios tikslų lauką, ir tereikia nurodyti teisingą lauko pavadinimą, kad išvengtumėte sintaksės klaidų.

multi_match užklausa

multi_match užklausa leidžia ieškoti keliuose laukuose vienu metu pagal atitikties užklausą ir ieškoti vieno iš jų keliuose laukuose vienu metu:


Bool užklausa

Bool užklausos yra panašios į Bool filtravimą ir naudojamos kelioms užklausų sąlygoms sulieti. Skirtumas tas, kad bool filtras gali tiesiogiai nurodyti, ar atitiktis sėkminga, o bool užklausa apskaičiuoja kiekvienos užklausos sąlygos _score (koreliacijos balą).

must:: 查询指定文档一定要被包含。
must_not:: Užklausos nurodyti dokumentai neturi būti įtraukti.
should:: 查询指定文档,有则可以为文档相关性加分。

Toliau pateikta užklausa rasite, kad pavadinimo lauke yra "kaip uždirbti milijonus", o laukas "žyma" nėra pažymėtas kaip šlamštas. Jei jie pažymėti kaip "žvaigždutėmis" arba jų išleidimo data yra ankstesnė nei 2014 m., Šie atitikimo dokumentai bus aukštesnio lygio nei panašios svetainės:


Patarimas: Jei po bool užklausa nėra būtinos sąlygos, turėtų būti bent viena sąlyga "should". Bet jei yra sąlyga būtina, užklausą galima pateikti ir be būtinybės sąlygos.

Pakaitos simbolių užklausa

Naudoti standartines apvalkalo pakaitos užklausas

Ši užklausa atitinka dokumentus, kuriuose yra W1F 7HW ir W2F 8HW:


Pavyzdžiui, ši pagrindinio kompiuterio vardo užklausa atitinka šį apvalkalo pakaitos simbolį:


regexp užklausa

Tarkime, kad norite atitikti tik pašto kodus, prasidedančius W ir skaičiais. Naudodami regexp užklausas galite rašyti sudėtingesnius modelius:



Ši reguliarioji išraiška nurodo, kad įrašas turi prasidėti W, po kurio turi būti skaičius nuo 0 iki 9, po kurio seka vienas ar keli kiti simboliai.

Šis pavyzdys yra visi įprasti prasideda su wxopen


priešdėlio užklausa

Kokiu simboliu jis prasideda, galite naudoti priešdėlį paprasčiau, kaip parodyta toliau pateiktame pavyzdyje:


Frazės atitikimas

Kai reikia rasti kelis žodžius arti, naudokite match_phrase užklausą:


Panašiai kaip atitikties užklausos, match_phrase užklausa pirmiausia analizuoja užklausos eilutę, kad sukurtų terminų sąrašą. Ji ieškos visų įrašų,
Tačiau saugomi tik dokumentai, kuriuose yra visi paieškos terminai, o terminų pozicijos turėtų būti greta. Frazės "Quick Fox" užklausa nesutaps
bet kokia mūsų dokumentacija, nes jokioje dokumentacijoje nėra greitųjų ir langelių įrašų greta vienas kito.
match_phrase užklausa taip pat gali būti parašyta kaip frazės tipo atitikties užklausa:







Ankstesnis:Įsigijo Kinijos apskaitos internetinė mokykla gruodžio 18 d. (apskaitos praktikos 6 lygio muitinės formalumų mokymo stovykla)
Kitą:C# regex paima A žymos href reikšmę HTML
Paskelbta 2022-11-22 14:25:30 |
Sužinokite es, ačiū nuomotojui
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com