İçeriğe atla
%100 yerel

Elasticsearch Sorgu Oluşturucu

Alan/operatör/değer koşullarının listesini bir Elasticsearch bool sorgusuna dönüştürün.

Çıkış

Elasticsearch Sorgu Oluşturucu

Koşulların listesini yapıştırın ve bu araç tam bir Elasticsearch arama isteği oluşturur: must, should, must_not ve filter dallarıyla bir bool sorgusu, ayrıca sıralama, sayfalandırma ve isteğe bağlı bir toplama. Kibana Dev Tools'da, bir REST istemcisinde veya bir uygulamanın arama katmanında el yazısıyla sorgu yazanlar ve JSON yapısını her seferinde yeniden yazmak yerine koşulları açıklamayı tercih edenler için idealdir.

Her koşul Koşullar alanında bir satırdır: isteğe bağlı bir dal (must, should, must_not, filter), alan adı, isteğe bağlı bir koşul türü (term tam eşleşme için, match tam metin arama için, range karşılaştırma için, exists alanın mevcut olup olmadığını kontrol etmek için) ve bir değer — noktalı virgülle ayrılmış. "filter price range 100..500" bir range cümlesi oluşturur; "should title match wireless headphones" bir ifadeyi tam metin arar; "must email exists" alanın ayarlandığını doğrular. Türü atlayın ve Varsayılan Koşul Türü bunu doldurur; dalı atlayın ve Varsayılan Dal aynısını yapar, yani "status active; category electronics" gibi basit bir liste de geçerli bir sorgu oluşturur.

Seçenekler paneli gerçek bir arama isteğinin geri kalanını kapsar: Sıralama Alanı ve düzeni bir sort cümlesini ekler, Sayfa Boyutu ve Başlangıç from/size sayfalandırmasını kontrol eder, Toplama seçtiğiniz bir alan üzerinde terms veya date_histogram gruplaması açar. Eşleşmeleri Vurgula herhangi bir match koşulu için bir highlight blogu ekler ve Sorgu Dili Sürümü track_total_hits'i açar ve kapatır; bu yalnızca Elasticsearch 7'den itibaren mevcuttur.

Her şey tarayıcınızda çalışır — girdiğiniz koşullar ve ortaya çıkan sorgu hiçbir yere yüklenmez. Sonucu doğrudan Kibana Dev Tools'a veya istek gövdesine kopyalayın, .txt dosyası olarak indirin veya çıktıyı girdiye gönderin ve onu geliştirmeye devam edin.

FAQ

Koşul nasıl yazarım?
Koşul başına bir satır, noktalı virgülle ayrılmış: isteğe bağlı bir dal, alan adı, isteğe bağlı bir koşul türü, ardından değer — örneğin "must status term active; filter price range 100..500".
term, match, range ve exists ne anlama geliyor?
term tam eşleşme, match tam metin arama, range alan sınırlarla karşılaştırma için kullanılır (yazın: "min..max", "min..", "..max", veya ">=5"), exists yalnızca alanın mevcut olup olmadığını kontrol eder — değere gerek yoktur.
Dalı veya türü atlarsam ne olur?
Varsayılan Dal ve Varsayılan Koşul Türü seçenekleri bir satırın atlattığı kısmı doldurur, böylece basit bir "field value" satırı bile geçerli bir koşul oluşturur.
Sorgu tüm Elasticsearch sürümleriyle çalışır mı?
Bool sorgusu, sıralama, sayfalandırma, toplama ve vurgulama Elasticsearch 6'dan bu yana stabildir. Sorgu Dili Sürümü seçeneği yalnızca bir ayrıntıyı değiştirir: track_total_hits, Elasticsearch 7'de tanıtıldı ve bir 6.x sorgusundan çıkarıldı.
Sorgum verileri bir yere yükleniyor mu?
Hayır. Sorgu tamamen tarayıcınızda girdiğiniz koşullar ve seçeneklerden oluşturulur — hiçbir şey sunucuya gönderilmez.