Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 20947|Odpoveď: 1

Zložené dotazy ElasticSearch musia must_not používať

[Kopírovať odkaz]
Zverejnené 28. 12. 2018 12:01:09 | | |
Bool Joint Query: Musím, Mal by must_not

Ak chceme požiadať o niečo podobné ako "obsah s BMW, ale nie v tagu", musíme použiť bool federated query.

Spoločný dotaz použije tri kľúčové slová: musí, mal by must_not.

Tieto tri možno pochopiť takto

must: Dokument musí presne zodpovedať podmienkam
should: Mal by obsahovať viac ako jednu podmienku, a ak je splnená aspoň jedna podmienka, tento dokument by mal spĺňať
must_not:Dokument nesmie spĺňať kritériá

Oficiálny úvod na webovej stránke:https://www.elastic.co/guide/cn/ ... bining-filters.html

Dotaz na DSL

match_all Dotaz

Všetky dokumenty je možné dotazovať a je to predvolený príkaz bez podmienok dotazu.


Tento dotaz sa často používa na zlúčenie filtrov. Napríklad musíte získať všetky poštové schránky a relevantnosť všetkých dokumentov je rovnaká, takže _score, ktorú dostanete, je 1.

Dotaz na zhodu

Dotaz na zhodu je štandardný dotaz, ktorý sa v podstate používa bez ohľadu na to, či potrebujete plnotextový dotaz alebo presný dotaz.

Ak použijete match na dotaz na plnotextové pole, analyzátor použije na spracovanie znakov dotazu pred samotným dotazom:



Ak zadáte presnú hodnotu pod zhodou, bude vyhľadávať vašu danú hodnotu, keď narazí na číslo, dátum, booleovský alebo not_analyzed reťazec:


Tip: Pri vyhľadávaní podľa presnej zhody je najlepšie používať filter príkazy, pretože filter príkazy ukladajú dáta do vyrovnávacej pamäte.

Dotaz na zhodu môže vyhľadávať len presnú hodnotu, ktorá špecifikuje presné pole, a stačí zadať správny názov poľa, aby ste sa vyhli syntaxickým chybám.

multi_match Dotaz

multi_match dotaz vám umožňuje vyhľadávať viacero polí naraz na základe zhodného dotazu a vyhľadávať jedno v rôznych poliach naraz:


Bool dopyt

Bool dotazy sú podobné bool filtrácii a používajú sa na zlúčenie viacerých dotazových klauzúl. Rozdiel je v tom, že bool filter môže priamo povedať, či je zhoda úspešná, zatiaľ čo bool dotaz vypočíta _score (korelačné skóre) každej dopytovej klauzuly.

must:: 查询指定文档一定要被包含。
must_not:: Dotazované dokumenty nesmú byť zahrnuté.
should:: 查询指定文档,有则可以为文档相关性加分。

Nasledujúci dotaz zistí, že pole názvu obsahuje "ako zarobiť milióny" a pole "tag" nie je označené ako spam. Ak sú označené ako "hviezdičkové" alebo majú dátum vydania pred rokom 2014, tieto zodpovedajúce dokumenty budú na vyššej úrovni ako podobné stránky:


Tip: Ak pod bool dotazom nie je klauzula 'mus', mala by tam byť aspoň jedna klauzula 'mala by'. Ak však existuje klauzula povinnosti, dotaz môže byť vykonaný aj bez klauzuly potreby.

Dotaz na žolíky

Použite štandardné shell wildcard dotazy

Nasledujúci dotaz zodpovedá dokumentom obsahujúcim W1F 7HW a W2F 8HW:


Napríklad nasledujúci dotaz na hostiteľské meno zodpovedá nasledujúcej shellovej žolíkovej karte:


regexp dotaz

Povedzme, že chcete porovnať iba PSČ začínajúce na W a nasledované číslami. Použitie regexp dotazov umožňuje písať zložitejšie vzory:



Tento regulárny výraz určuje, že prvok musí začínať na W, nasledované číslom od 0 do 9, potom jedným alebo viacerými ďalšími znakmi.

Nasledujúci príklad sú všetky regulárne začiatky s wxopen


Dotaz na prefix

Akým znakom začína, môžete použiť jednoduchšie prefix, ako v príklade nižšie:


Párovanie fráz

Keď potrebujete nájsť niekoľko slov v tesnej blízkosti, použijete match_phrase dotaz:


Podobne ako pri match dotazoch, match_phrase dotaz najprv analyzuje dotazovací reťazec, aby vytvoril zoznam pojmov. Bude vyhľadávať všetky záznamy,
Avšak uchovávajú sa len dokumenty obsahujúce všetky vyhľadávané výrazy a pozície výrazov by mali byť vedľa seba. Dotaz na frázu Quick Fox sa nezhoduje
Žiadna z našich dokumentov, pretože žiadna dokumentácia neobsahuje rýchle a boxové záznamy vedľa seba.
match_phrase dotaz môže byť tiež zapísaný ako dotaz na zhodu typu frázy:







Predchádzajúci:Zakúpené China Accounting Online School 18. decembra (Accounting Practice Level 6 Customs Clearance Training Camp)
Budúci:C# regex berie hodnotu href značky A v HTML
Zverejnené 22. 11. 2022 14:25:30 |
Nauč sa, ďakujem prenajímateľ
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com