Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 20947|Odpowiedź: 1

Zapytania złożone ElasticSearch muszą, powinny must_not używać

[Skopiuj link]
Opublikowano 28.12.2018 12:01:09 | | |
Zapytanie o bool joint: musimy, powinni, must_not

Jeśli chcemy poprosić o coś podobnego do "content with BMW, ale not in tag", musimy użyć bool federated query.

Wspólne zapytanie będzie używać trzech słów kluczowych: musi, powinien, must_not.

Te trzy można zrozumieć w ten sposób

must: Dokument musi dokładnie spełniać warunki
should: powinien zawierać więcej niż jeden warunek, a jeśli przynajmniej jeden warunek zostanie spełniony, ten dokument spełni by
must_not:Dokument nie może spełniać tych kryteriów

Oficjalne wprowadzenie do strony internetowej:https://www.elastic.co/guide/cn/ ... bining-filters.html

Zapytanie DSL

match_all Zapytanie

Wszystkie dokumenty mogą być zapytaniami i jest to domyślne zdanie bez warunków zapytania.


To zapytanie jest często używane do łączenia filtrów. Na przykład musisz pobrać wszystkie skrzynki pocztowe i wszystkie dokumenty są takie same, więc otrzymujesz _score 1.

Zapytanie o dopasowanie

Zapytanie dopasowania to standardowe zapytanie, które jest używane niezależnie od tego, czy potrzebujesz pełnotekstowego zapytania, czy dokładnego zapytania.

Jeśli używasz match do zapytania do pola pełnego tekstu, analizator będzie analizował znaki zapytania przed samym zapytaniem:



Jeśli poda dokładna wartość w podpasowaniu, wyszukiwa Twoją wartość, gdy napotka liczbę, datę, boolean lub not_analyzed ciąg znaków:


Wskazówka: Podczas wyszukiwania dokładnie dopasowanego najlepiej używać instrukcji filtrów, ponieważ instrukcje filtrów cacheują dane.

Zapytanie dopasowania może wyszukiwać tylko dokładną wartość, która określa dokładne pole, a wystarczy podać poprawną nazwę pola, aby uniknąć błędów składniowych.

multi_match Zapytanie

multi_match zapytanie pozwala przeszukiwać wiele pól jednocześnie na podstawie zapytania dopasowania i wyszukiwać je jednocześnie w wielu polach:


Zapytanie bool

Zapytania bool są podobne do filtrowania bool i służą do łączenia wielu klauzul zapytań. Różnica polega na tym, że filtr bool może bezpośrednio podać, czy dopasowanie jest pomyślne, podczas gdy zapytanie bool oblicza _score (współczynnik korelacji) każdego klauzuli zapytania.

must:: 查询指定文档一定要被包含。
must_not:: Nie należy dołączać dokumentów do określonych zapytań.
should:: 查询指定文档,有则可以为文档相关性加分。

Następujące zapytanie pokaże, że pole tytułu zawiera "jak zarobić miliony", a pole "tag" nie jest oznaczone jako spam. Jeśli są oznaczone jako "oznaczone gwiazdką" lub mają datę publikacji przed 2014 rokiem, to te dopasowane dokumenty będą na wyższym poziomie niż podobne strony:


Wskazówka: Jeśli w zapytaniu bool nie ma klauzuli "musz", powinna być przynajmniej jedna klauzula "powinni". Ale jeśli istnieje klauzula konieczności, to zapytanie można wykonać także bez klauzuli potrzeby.

Zapytanie o karty dzikie

Użyj standardowych zapytań dzikich kart shell shell

Następujące zapytanie odpowiada dokumentom zawierającym W1F 7HW i W2F 8HW:


Na przykład następujące zapytanie o nazwę hosta odpowiada następującej dzikiej kartie powłoki:


zapytanie regexp

Załóżmy, że chcesz dopasować tylko kody pocztowe zaczynające się na W i następujące przez cyfry. Korzystanie z zapytań regexp pozwala pisać bardziej złożone wzorce:



To wyrażenie regularne określa, że wpis musi zaczynać się od W, następnie liczby od 0 do 9, a następnie jednego lub więcej innych znaków.

Poniższy przykład to wszystkie regularne starty z wxopen


Zapytanie o prefiks

Od jakiego znaku się zaczyna, możesz użyć prostszego przedrostka, jak w poniższym przykładzie:


Dopasowywanie fraz

Gdy musisz znaleźć kilka słów w bliskim pobliżu, używasz match_phrase zapytania:


Podobnie jak w przypadku zapytań match, match_phrase najpierw analizuje ciąg zapytania, aby stworzyć listę terminów. Będzie wyszukiwać wszystkie wpisy,
Jednak zachowywane są tylko dokumenty zawierające wszystkie hasła wyszukiwania, a pozycje tych terminów powinny być sąsiadujące ze sobą. Zapytanie o frazę Szybki Lis nie będzie pasować
Każda z naszych dokumentacji, ponieważ żadna nie zawiera szybkich i przylegających do siebie wpisów w ramkach.
match_phrase zapytanie może być również zapisane jako zapytanie o dopasowanie o frazę typową:







Poprzedni:Zakupione przez China Accounting Online School 18 grudnia (Accounting Practice Level 6 Customs Clearance Training Camp)
Następny:C# regex przyjmuje wartość tagu A href w HTML
Opublikowano 22.11.2022 14:25:30 |
Dowiedz się, dziękuję właścicielu.
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com