2016-12-14 14 views
6

ile elasticsearch tarih aralığı sorgular birleştirin:aşağıdaki gibi tarih aralığı sorgu kullanmak istiyorum boş değerler

{ 
    "range" : { 
     "deadline" : { 
      "gte" : "2016-12-14", 
     } 
    } 
} 

Benim endeksi de son tarih boş değerleri içerir. Arama sonuçlarında, tarih aralarındaki tarihlerle birlikte boş tarihli dokümanları almak istiyorum. Tarih aralığını elastik 5.x

+0

Tarih aralığınızdaki boş değerlerden kaçınmak mı istiyorsunuz? – Kulasangar

cevap

5

ile sorgulama tarih aralığını nasıl birleştirebilirim? bool sorgusu hile yapar. boş değerleri yok Elasticsearch endekslerinde

{ 
    "query": { 
    "bool": { 
     "should": [ 
     { 
      "range": { 
      "deadline": { 
       "gte": "2016-12-14" 
      } 
      } 
     }, 
     { 
      "bool": { 
      "must_not": { 
       "exists": { 
       "field": "deadline" 
       } 
      } 
      } 
     } 
     ] 
    } 
    } 
} 

, bu yüzden sorgu mevcut kullanın. Eksik sorgunun kullanılması daha az verim olurdu, ancak deprecated since 2.2.

benim örnek sorgu bağlamında çalışır, ama belki filtre bağlamı bu durumda daha uygun olacağını bu yüzden yeterli bilgiye sahip değiliz.

İlgili konular