Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 20947|Отговор: 1

ElasticSearch компаунд заявки трябва, трябва must_not да се използват

[Копирай линк]
Публикувано в 28.12.2018 г. 12:01:09 ч. | | |
Bool Joint запитване: Трябва, трябва, must_not

Ако искаме да поискаме нещо подобно на "съдържание с BMW, но не в таг", трябва да използваме bool federated query.

Съвместната заявка ще използва три ключови думи: трябва, трябва, must_not.

Тези три могат да се разберат по този начин

must: Документът трябва да съответства точно на условията
should: трябва да има повече от едно условие и ако поне едно условие е изпълнено, този документ ще изпълни трябва
must_not:Документът не трябва да отговаря на критериите

Официално въведение в уебсайта:https://www.elastic.co/guide/cn/ ... bining-filters.html

Заявка за DSL

match_all Заявка

Всички документи могат да бъдат заявявани и това е по подразбиране без условия за заявка.


Тази заявка често се използва за сливане на филтри. Например, трябва да изтеглите всички пощенски кутии и всички релевантности на документа са еднакви, така че _score, което получавате, е 1.

Заявка за съвпадение

Заявката за съвпадение е стандартна заявка, която се използва независимо дали ви трябва пълнотекстова заявка или точна заявка.

Ако използвате match за заявка към пълнотекстово поле, той ще използва анализатора, за да анализира символите на заявката преди самата заявка:



Ако посочите точна стойност под "съвпадение", той ще търси дадена стойност, когато срещне число, дата, булев или not_analyzed низ:


Съвет: При търсене на точно съвпадение, най-добре е да използвате филтърни оператори, защото филтърните оператори кешират данните.

Заявка за съвпадение може да търси само точна стойност, която посочва точно поле, и всичко, което трябва да направите, е да посочите правилното име на полето, за да избегнете синтактични грешки.

multi_match Заявка

multi_match заявка ви позволява да търсите няколко полета едновременно въз основа на съвпадаща заявка и да търсите едно в няколко полета едновременно:


Bool заявка

Bool заявките са подобни на буловото филтриране и се използват за сливане на множество заявени клаузи. Разликата е, че буловият филтър може директно да покаже дали съвпадението е успешно, докато буловата заявка изчислява _score (корелационен резултат) на всяка заявка клауза.

must:: 查询指定文档一定要被包含。
must_not:: Документите, посочени за заявка, не трябва да се включват.
should:: 查询指定文档,有则可以为文档相关性加分。

Следващата заявка ще открие, че заглавното поле съдържа "как да спечелите милиони" и полето "таг" не е маркирано като спам. Ако са означени като "звездени" или имат дата на издаване преди 2014 г., тогава тези съвпадащи документи ще бъдат на по-високо ниво от подобни сайтове:


Съвет: Ако няма клауза за задължително в bool заявката, трябва да има поне една клауза "трябва". Но ако има задължителна клауза, тогава заявката може да бъде направена и без клауза за необходимост.

Запитване за уайлдкарти

Използвайте стандартни заявки за уайлдкард за shell

Следната заявка съвпада с документи, съдържащи W1F 7HW и W2F 8HW:


Например, следната заявка за hostname съвпада със следния уайлдкард на shell:


Regexp заявка

Да кажем, че искате да съпоставите само пощенски кодове, които започват с W, последвани от номера. Използването на regexp заявки ви позволява да пишете по-сложни шаблони:



Този редовен израз уточнява, че записът трябва да започва с W, последван от число от 0 до 9, последван от един или повече други знаци.

Следният пример е всички редовни започвания с wxopen


Заявка за префикс

С кой знак започва, можеш да използваш префикса по-просто, както е в примера по-долу:


Съвпадение на фрази

Когато трябва да намерите няколко думи в близост, използвате match_phrase заявка:


Подобно на заявките за съвпадение, match_phrase заявка първо анализира низа на заявката, за да получи списък с термини. Той ще търси всички записи,
Въпреки това, се съхраняват само документи, съдържащи всички търсещи думи, а позициите на термините трябва да са съседни. Запитване за фразата Quick Fox няма да съвпадне
Всяка от нашите документи, тъй като няма документи да съдържа бързи и съседни записи в кутии.
match_phrase заявка може да бъде написана и като заявка за съвпадение на тип-фраза:







Предишен:Закупено от China Accounting Online School на 18 декември (Training Camp Customs Practice Level 6 Accounting Practice)
Следващ:C# regex приема стойността на href на A таг в HTML
Публикувано в 22.11.2022 г. 14:25:30 ч. |
Научи се, благодаря ти, хазяин
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com