Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 20947|Odgovoriti: 1

ElasticSearch sestavljene poizvedbe morajo, morajo must_not uporabljati

[Kopiraj povezavo]
Objavljeno na 28. 12. 2018 12:01:09 | | |
Bool Joint Query: Moram, Moram, must_not

Če želimo zahtevati nekaj podobnega kot "vsebina z BMW, a ne v oznaki", moramo uporabiti bool federated query.

Skupna poizvedba bo uporabila tri ključne besede: mora, mora must_not.

Te tri lahko razumemo na ta način

must: Dokument mora popolnoma ustrezati pogojem
should: bi moral imeti več kot en pogoj, in če je izpolnjen vsaj en pogoj, bo ta dokument izpolnil
must_not:Dokument ne sme ustrezati kriterijem

Uradni uvod na spletno stran:https://www.elastic.co/guide/cn/ ... bining-filters.html

Poizvedba DSL

match_all Poizvedba

Vse dokumente je mogoče poizvedovati, in to je privzeti stavek brez pogojev poizvedbe.


Ta poizvedba se pogosto uporablja za združevanje filtrov. Na primer, morate pridobiti vse poštne nabiralnike, pri čemer je relevantnost vseh dokumentov enaka, zato je _score, ki ga dobite, 1.

Poizvedba o ujemanju

Poizvedba za ujemanje je standardna poizvedba, ki se uporablja ne glede na to, ali potrebujete poizvedbo v celotnem besedilu ali natančno poizvedbo.

Če uporabiš match za poizvedbo polnega besedila, bo uporabil analizator za razčlenitev znakov poizvedbe pred dejansko poizvedbo:



Če določite natančno vrednost pod ujemanjem, bo iskal vašo vrednost, ko naleti na številko, datum, boolean ali not_analyzed niz:


Nasvet: Pri iskanju po natančnem ujemanju je najbolje uporabljati stavke filtra, saj stavki filtra predpomnijo podatke.

Poizvedba za ujemanje lahko išče le natančno vrednost, ki določa točno polje, in vse, kar morate storiti, je, da določite pravilno ime polja, da se izognete sintaktičnim napakam.

multi_match Poizvedba

multi_match poizvedba vam omogoča, da hkrati iščete več polj na podlagi poizvedbe za ujemanje in hkrati poiščete več polj:


Bool poizvedba

Bool poizvedbe so podobne bool filtriranju in se uporabljajo za združevanje več klavzul poizvedb. Razlika je v tem, da bool filter neposredno pove, ali je ujemanje uspešno, medtem ko bool poizvedba izračuna _score (korelacijsko oceno) vsake poizvedbene klavzule.

must:: 查询指定文档一定要被包含。
must_not:: Poizvedba z določenimi dokumenti ne smejo biti vključena.
should:: 查询指定文档,有则可以为文档相关性加分。

Naslednja poizvedba bo pokazala, da naslovno polje vsebuje »kako zaslužiti milijone« in polje »oznaka« ni označeno kot neželena pošta. Če so označeni kot "označeni z zvezdico" ali imajo datum izdaje pred letom 2014, bodo ti ujemajoči se dokumenti na višji ravni kot na podobnih straneh:


Nasvet: Če pod bool poizvedbo ni klavzule 'nuj', naj bo vsaj ena klavzula 'moral bi'. Če pa obstaja klavzula nuj, je mogoče poizvedbo izvesti tudi brez klavzule potrebe.

Poizvedba o divjih kartah

Uporabite standardne poizvedbe z divjimi kartami v lupini

Naslednja poizvedba se ujema z dokumenti, ki vsebujejo W1F 7HW in W2F 8HW:


Na primer, naslednja poizvedba za ime gostitelja ustreza naslednjemu wildcardu lupine:


Regexp poizvedba

Recimo, da želite ujeti samo poštne številke, ki se začnejo z W in sledijo številke. Uporaba regexp poizvedb omogoča pisanje bolj zapletenih vzorcev:



Ta regularni izraz določa, da se mora vnos začeti z W, sledi številka od 0 do 9, nato pa še eden ali več drugih znakov.

Naslednji primer so vsi regularni začetki z wxopen


Poizvedba o predponi

S katerim znakom se začne, lahko uporabite predpono preprosteje, kot v spodnjem primeru:


Ujemanje fraz

Ko potrebujete nekaj besed v bližini, uporabite match_phrase poizvedbo:


Podobno kot pri poizvedbah za ujemanje, match_phrase poizvedba najprej razčleni poizvedbeni niz in ustvari seznam izrazov. Iskal bo vse vnose,
Vendar pa se hranijo le dokumenti, ki vsebujejo vse iskalne izraze, in položaji izrazov morajo biti sosednji. Poizvedba za frazo Quick Fox ne bo ustrezala
Nobena naša dokumentacija, saj nobena dokumentacija ne vsebuje kratkih in okvirnih vnosov drug ob drugem.
match_phrase poizvedbo je mogoče zapisati tudi kot ujemalno poizvedbo tipne fraze:







Prejšnji:Kupila ga je Kitajska računovodska spletna šola 18. decembra (Usposabljanje za carinsko dovoljenje za računovodsko prakso, stopnja 6)
Naslednji:C# regex zavzame vrednost oznake A href v HTML
Objavljeno na 22. 11. 2022 14:25:30 |
Nauči se, hvala, najemodajalec.
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com