2016-10-27 2 views

答えて

1

まあ最初のオフ、そのエラーはElasticsearchの1.xのバージョンで使用することから、一般的です。 (その場合はFilteredQueryが必要です)

次は、不要なネスティングが多数あるようです。もっと単純な例を作るために他のものを取り除いたのかどうかは分かりません。あなたはES 1持っている私のサーバー(v2.3.1)に

{ 
    "query" : { 
     "bool" : { 
      "must" : [{ 
        "range" : { 
         "startDate" : { "lte" : "2016-10-27T11:24:49.6616538+05:30" } 
        } 
       } 
      ], 
      "filter" : [{ 
        "bool" : { 
         "must_not" : [{ 
           "exists" : { "field" : "endDate" } 
          } 
         ] 
        } 
       } 
      ]} } 
} 

どちらもあなたの元のクエリと私の書き換え1つの作業の罰金私は本当に推測している:私はこのようなクエリを書き換え(と外側の中括弧を追加)しています。バツ ?また

、あなたはLuceneのスコアリングを活用し、単に文書を返す(または独自の並べ替えを適用)したい、あなたは完全にフィルタをドロップすることができますし、さらにそれを簡素化されていない場合:

{ 
    "query" : { 
     "bool" : { 
      "must" : [{ 
        "range" : { 
         "startDate" : { "lte" : "2016-10-27T11:24:49.6616538+05:30"} 
        } 
       } 
      ], 
      "must_not" : [{ 
        "exists" : { "field" : "endDate" } 
       } 
      ]} } 
} 
関連する問題