2016-12-14 9 views
6

でelasticsearch日付範囲クエリを組み合わせる:は、私は次のように日付範囲のクエリを使用したいNULL値

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

私の指数は、同様に締め切りのための空の値が含まれています。私は、検索結果にその日付のない文書を範囲内の日付と共に取得したいと考えています。どのようにして日付範囲と "must_not"がエラスティック5.xのクエリに存在するのですか

+0

日付範囲内でnull値を避けることはできますか? – Kulasangar

答えて

5

私はboolクエリと思っています。 Elasticsearchインデックスで

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

ヌル値が存在しないので、我々はが存在クエリを使用しています。不足しているクエリを使用するのはあまり冗長ではありませんでしたが、deprecated since 2.2です。

私の例では、問合せコンテキストで実行されますが、多分フィルタコンテキストは、このケースでより便利になるので、私は十分な情報を持っていません。

関連する問題