Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 20947|Svar: 1

ElasticSearch compound-forespørgsler skal, bør must_not bruges

[Kopier link]
Opslået på 28/12/2018 12.01.09 | | |
Bool Joint spørgsmål: Skal, skal, must_not

Hvis vi vil anmode om noget lignende "indhold med BMW, men ikke i tag", skal vi bruge bool federated query.

Den fælles forespørgsel vil bruge tre nøgleord: must, should, must_not.

Disse tre kan forstås på denne måde

must: Dokumentet skal nøjagtigt matche betingelserne
should: bør have mere end én betingelse, og hvis mindst én betingelse er opfyldt, vil dette dokument opfylde should
must_not:Dokumentet må ikke opfylde kriterierne

Officiel hjemmesideintroduktion:https://www.elastic.co/guide/cn/ ... bining-filters.html

Forespørg DSL

match_all Forespørgsel

Alle dokumenter kan forespørges, og det er standardsætningen uden forespørgselsbetingelser.


Denne forespørgsel bruges ofte til at sammenflette filtre. For eksempel skal du hente alle postkasser, og al dokumentrelevans er den samme, så det _score du får, er 1.

Matchforespørgsel

En match-forespørgsel er en standardforespørgsel, der grundlæggende bruges, uanset om du har brug for en fuldtekstforespørgsel eller en præcis forespørgsel.

Hvis du bruger match til at forespørge et fuldtekstfelt, vil den bruge analysatoren til at parse forespørgselstegnene før den egentlige forespørgsel:



Hvis du angiver en præcis værdi under match, vil den søge efter din givne værdi, når den støder på et tal, en dato, en boolesk eller not_analyzed streng:


Tip: Når du laver en søgning med præcis match, er det bedst at bruge filter-sætninger, fordi filter-udsagn cacher data.

En matchforespørgsel kan kun søge efter en eksakt værdi, der angiver et præcist felt, og alt du skal gøre er at angive det korrekte feltnavn for den for at undgå syntaksfejl.

multi_match Forespørgsel

multi_match forespørgsel giver dig mulighed for at søge i flere felter samtidig baseret på en matchforespørgsel og slå et felt op i flere felter på samme tid:


BOOL-forespørgsel

Bool-forespørgsler ligner bool-filtrering og bruges til at sammenflette flere forespørgselsklausuler. Forskellen er, at bool-filteret direkte kan angive, om matchet er succesfuldt, mens bool-forespørgslen beregner _score (korrelationsscore) for hver forespørgselsklausul.

must:: 查询指定文档一定要被包含。
must_not:: Forespørgselsspecifikke dokumenter må ikke inkluderes.
should:: 查询指定文档,有则可以为文档相关性加分。

Den følgende forespørgsel vil vise, at titelfeltet indeholder "hvordan man tjener millioner", og at "tag"-feltet ikke er markeret som spam. Hvis de er mærket som "stjernet" eller har en udgivelsesdato før 2014, vil disse matchende dokumenter være på et højere niveau end lignende sider:


Tip: Hvis der ikke er nogen must-klausul under bool-forespørgslen, bør der være mindst én should-klausul. Men hvis der findes en must-klausul, kan forespørgslen også foretages uden behovsklausulen.

Wildcards-forespørgsel

Brug standard shell wildcard-forespørgsler

Følgende forespørgsel matcher dokumenter, der indeholder W1F 7HW og W2F 8HW:


For eksempel matcher følgende forespørgsel for værtsnavn følgende shell-wildcard:


RegExp-forespørgsel

Lad os sige, at du kun vil matche postnumre, der starter med W efterfulgt af tal. Ved at bruge regexp-forespørgsler kan du skrive mere komplekse mønstre:



Dette regulære udtryk angiver, at posten skal starte med W, efterfulgt af et tal fra 0 til 9, efterfulgt af et eller flere andre tegn.

Følgende eksempel er, at alle regulære starter med wxopen


Præfiksforespørgsel

Hvilket tegn starter det med, kan du bruge præfikset mere enkelt, som i eksemplet nedenfor:


Sætningsmatchning

Når du skal finde et par ord tæt på hinanden, bruger du match_phrase forespørgsel:


Ligesom match-forespørgsler parser match_phrase forespørgsel først forespørgselsstrengen for at producere en liste over termer. Den vil søge efter alle indgangene,
Dog opbevares kun dokumenter, der indeholder alle søgetermer, og placeringerne af termerne bør være tilstødende. En forespørgsel på udtrykket Quick Fox vil ikke matche
Ingen af vores dokumentation, da ingen dokumentation indeholder hurtige og boks-poster ved siden af hinanden.
match_phrase forespørgsel kan også skrives som en matchforespørgsel af typefrasen:







Tidligere:Købt af China Accounting Online School den 18. december (Accounting Practice Level 6 Customs Clearance Training Camp)
Næste:C# regex tager værdien af A-tagget href i HTML
Opslået på 22/11/2022 14.25.30 |
Lær det, tak udlejer
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com