Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 20947|Atbildi: 1

ElasticSearch saliktie vaicājumi ir jāizmanto must_not

[Kopēt saiti]
Publicēts 28.12.2018 12:01:09 | | |
bool kopīgs vaicājums: jā, vajadzētu, must_not

Ja mēs vēlamies pieprasīt kaut ko līdzīgu "saturs ar BMW, bet ne tag", mums ir jāizmanto bool federated query.

Kopīgajā vaicājumā tiks izmantoti trīs atslēgvārdi: must, should, must_not.

Šos trīs var saprast šādi

must: Dokumentam precīzi jāatbilst nosacījumiem
should: jābūt vairāk nekā vienam nosacījumam, un, ja ir izpildīts vismaz viens nosacījums, šis dokuments atbilst
must_not:Dokuments nedrīkst atbilst kritērijiem

Oficiālās mājas lapas ievads:https://www.elastic.co/guide/cn/ ... bining-filters.html

Vaicājuma DSL

match_all vaicājums

Var vaicāt visus dokumentus, un tas ir noklusējuma priekšraksts bez vaicājuma nosacījumiem.


Šo vaicājumu bieži izmanto, lai sapludinātu filtrus. Piemēram, jums ir jāizgūst visas pastkastes, un visu dokumentu atbilstība ir vienāda, tāpēc iegūtais _score ir 1.

Atbilstības vaicājums

Atbilstības vaicājums ir standarta vaicājums, kas pamatā tiek izmantots neatkarīgi no tā, vai jums ir nepieciešams pilnteksta vaicājums vai precīzs vaicājums.

Ja izmantojat atbilstību, lai vaicātu pilnteksta lauku, tas izmantos analizatoru, lai parsētu vaicājuma rakstzīmes pirms faktiskā vaicājuma:



Ja sadaļā Atbilstība norādāt precīzu vērtību, tā meklēs doto vērtību, kad tiks atrasts skaitlis, datums, Būla vai not_analyzed virkne:


Padoms: veicot precīzas atbilstības meklēšanu, ieteicams izmantot filtra priekšrakstus, jo filtru priekšraksti kešatmiņā saglabā datus.

Atbilstības vaicājums var meklēt tikai precīzu vērtību, kas norāda precīzu lauku, un viss, kas jums jādara, ir norādīt pareizo lauka nosaukumu, lai izvairītos no sintakses kļūdām.

multi_match vaicājums

multi_match vaicājums ļauj meklēt vairākus laukus vienlaikus, pamatojoties uz atbilstības vaicājumu, un meklēt vienu vairākos laukos vienlaikus:


Bool vaicājums

Bool vaicājumi ir līdzīgi bool filtrēšanai un tiek izmantoti, lai sapludinātu vairākas vaicājuma klauzulas. Atšķirība ir tāda, ka bool filtrs var tieši norādīt, vai atbilstība ir veiksmīga, savukārt bool vaicājums aprēķina katras vaicājuma klauzulas _score (korelācijas rezultāts).

must:: 查询指定文档一定要被包含。
must_not:: Vaicājuma norādītos dokumentus nedrīkst iekļaut.
should:: 查询指定文档,有则可以为文档相关性加分。

Nākamajā vaicājumā tiks konstatēts, ka virsraksta laukā ir "kā nopelnīt miljonus" un lauks "tag" nav atzīmēts kā surogātpasts. Ja tie ir apzīmēti kā "zvaigžņoti" vai to izlaišanas datums ir pirms 2014. gada, tad šie atbilstošie dokumenti būs augstākā līmenī nekā līdzīgas vietnes:


Padoms: Ja zem bool vaicājuma nav obligātas klauzulas, jābūt vismaz vienai klauzulai. Bet, ja ir obligāta klauzula, tad vaicājumu var veikt arī bez nepieciešamības klauzulas.

Aizstājējzīmju vaicājums

Standarta čaulas aizstājējzīmju vaicājumu izmantošana

Tālāk norādītais vaicājums atbilst dokumentiem, kas satur W1F 7HW un W2F 8HW:


Piemēram, šāds vaicājums resursdatora nosaukumam atbilst šādai čaulas aizstājējzīmei:


regexp vaicājums

Pieņemsim, ka vēlaties saskaņot tikai pasta indeksus, kas sākas ar W un kam seko skaitļi. Izmantojot regexp vaicājumus, varat rakstīt sarežģītākus modeļus:



Šī regulārā izteiksme norāda, ka ierakstam jāsākas ar W, kam seko skaitlis no 0 līdz 9, kam seko viena vai vairākas citas rakstzīmes.

Šis piemērs ir viss regulārais sākums ar wxopen


prefiksa vaicājums

Ar kādu rakstzīmi tas sākas, varat vienkāršāk izmantot prefiksu, kā tas ir zemāk redzamajā piemērā:


Frāzes atbilstība

Ja nepieciešams atrast dažus vārdus tuvumā, izmantojiet match_phrase vaicājumu:


Līdzīgi kā atbilstības vaicājumos, match_phrase vaicājums vispirms parsē vaicājuma virkni, lai izveidotu terminu sarakstu. Tas meklēs visus ierakstus,
Tomēr tiek saglabāti tikai tie dokumenti, kuros ir visi meklējamie termini, un terminu novietojumiem jābūt blakus. Vaicājums frāzei Quick Fox neatbilst
jebkura mūsu dokumentācija, jo nevienā dokumentācijā nav ātro un lodziņu ierakstu blakus viens otram.
match_phrase vaicājumu var rakstīt arī kā frāzes tipa atbilstības vaicājumu:







Iepriekšējo:Iegādājās Ķīnas grāmatvedības tiešsaistes skola 18. decembrī (grāmatvedības prakses 6. līmeņa muitošanas apmācības nometne)
Nākamo:C# regex ņem A taga href vērtību HTML
Publicēts 22.11.2022 14:25:30 |
Uzziniet, paldies saimniekam
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com