Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 20947|Yanıt: 1

ElasticSearch bileşik sorguları kullanmalı, kullanmalı must_not

[Bağlantıyı kopyala]
Yayınlandı 28.12.2018 12:01:09 | | |
Bool Joint Sorgu: Olmalı, olmalı, must_not

"BMW ile içerik, ama etikette değil" gibi bir şey talep etmek istiyorsak, bool federated query kullanmamız gerekiyor.

Ortak sorgu üç anahtar kelime kullanacak: gerekli, olmalı, must_not.

Bu üçü bu şekilde anlaşılabilir

must: Belge koşulları tam olarak yansıtmalıdır
should: birden fazla koşulu olmalı ve en az bir koşul sağlanırsa, bu belge de
must_not:Belge kriterlere uymamalıdır

Resmi web sitesi tanıtımı:https://www.elastic.co/guide/cn/ ... bining-filters.html

DSL sorgusu

match_all Sorgu

Tüm belgeler sorgulanabilir ve bu varsayılan ifadedir ve sorgu koşulları olmadan.


Bu sorgu genellikle filtreleri birleştirmek için kullanılır. Örneğin, tüm posta kutularını almanız gerekiyor ve tüm belge ilgisi aynıdır, yani aldığınız _score 1.

Maç sorgusu

Eşleşme sorgusu, tam metin ya da tam bir sorgu gerekse olmasa da tam bir sorgu gerekse de kullanılan standart bir sorgudur.

Tam metin alanını sorgulamak için match kullanırsanız, sorgu karakterlerini gerçek sorgudan önce analiz cihazı kullanır:



Eşleşme altında tam bir değer belirlerseniz, bir sayı, tarih, boolean veya not_analyzed dizeyiyle karşılaştığında verilen değeri arayacaktır:


İpucu: Tam eşleşme araması yaparken, filtre ifadeleri verileri önbellediği için filtre ifadelerini kullanmak en iyisidir.

Bir eşleşme sorgusu yalnızca tam bir alanı belirten bir değeri arayabilir ve yapmanız gereken tek şey sözdizimi hatalarından kaçınmak için doğru alan adını belirtmektir.

multi_match Sorgu

multi_match sorgu, eşleşen bir sorguya göre aynı anda birden fazla alanda arama yapmanızı ve aynı anda birden fazla alanda bir alanı aramanızı sağlar:


bool sorgusu

Bool sorguları, bool filtrelemeye benzerdir ve birden fazla sorgu maddesini birleştirmek için kullanılır. Fark şu ki, bool filtresi doğrudan eşleşmenin başarılı olup olmadığını verebilirken, bool sorgusu her sorgu cümlesinin _score'sini (korelasyon puanını) hesaplar.

must:: 查询指定文档一定要被包含。
must_not:: Sorgu belirtilen belgeler dahil edilmemelidir.
should:: 查询指定文档,有则可以为文档相关性加分。

Aşağıdaki sorgu, başlık alanında "nasıl milyonlar kazanılır" ifadesi içerdiğini ve "tag" alanının spam olarak işaretlenmediğini görecektir. Eğer "yıldızlı" olarak etiketleniyorsa veya 2014'ten önce çıkış tarihi varsa, bu eşleşen belgeler benzer sitelerden daha yüksek seviyede olacaktır:


İpucu: Bool sorgusunun altında 'must cümle'i yoksa, en az bir 'should cümle'i olmalıdır. Ancak zorunlu maddesi varsa, sorgu ihtiyaç maddesi olmadan da yapılabilir.

Wildcards sorgusu

Standart kabuk joker sorguları kullanın

Aşağıdaki sorgu, W1F 7HW ve W2F 8HW içeren belgelerle eşleşiyor:


Örneğin, ana bilgisayar adı için aşağıdaki sorgu, aşağıdaki shell joker kartıyla eşleşir:


Regexp sorgusu

Diyelim ki sadece W ile başlayan ve ardından numaralarla başlayan posta kodlarını eşleştirmek istiyorsunuz. Regexp sorguları kullanmak daha karmaşık desenler yazmanızı sağlar:



Bu düzenli ifade, giridin W ile başlaması, ardından 0'dan 9'a kadar bir sayı ve ardından bir veya daha fazla karakter gelmesi gerektiğini belirtir.

Aşağıdaki örnek tüm düzenli başlar wxopen ile


önek sorgusu

Hangi karakterle başlar, ön ek daha basit kullanabilirsin, aşağıdaki örnekte olduğu gibi:


İfade Eşleştirme

Yakında birkaç kelime bulmanız gerektiğinde match_phrase sorgu kullanırsınız:


Eşleşme sorgularına benzer şekilde, match_phrase sorgu önce sorgu dizesini ayrıştırarak terimler listesini oluşturur. Tüm girişleri arayacak,
Ancak, yalnızca tüm arama terimlerini içeren belgeler saklanır ve terimlerin konumları bitişik olmalıdır. Quick Fox ifadesi için yapılan bir sorgu eşleşmeyecek
Hiçbir dokümantasyonumuz birbirine bitişik hızlı ve kutu girişleri içermediği için.
match_phrase sorgu, şu tür ifadelerle eşleşen sorgu olarak da yazılabilir:







Önceki:18 Aralık'ta China Accounting Online School tarafından satın alındı (Muhasebe Uygulama Seviye 6 Gümrük Gümrükleme Eğitim Kampı)
Önümüzdeki:C# regex, HTML'deki A etiketi href'in değerini alır
Yayınlandı 22.11.2022 14:25:30 |
Öğrenin, teşekkürler ev sahibi
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com