2017-10-05 8 views
0

フィールドが存在しないか値の配列にあるクエリを実行しようとしていますが、mongoではこのようになります。特定の値またはフィールドがElasticsearchに存在しない方法

$or: [ 
    { 
     field: { 
      $exists: false 
     } 
    }, 
    { 
     field: [val1, val2] 
    } 
] 

私はバリエーションのカップルと試してみたが、このための解決策を見つけるように見える傾けます。

EDIT1:私の心の基本的

、クエリは次のようになります。

query: { 
    "bool": { 
    "should": [ 
     "must": {...logic} 
     "must_not": {...logic} 
    ] 
    } 
} 

これは

あなたはこのようにそれを行う必要があり

答えて

0

"must_not" 不正な形式を返します。これで

{ 
    "query": { 
    "bool": { 
     "should": [ 
     { 
      "terms": { 
      "field": [ 
       "val1", 
       "val2" 
      ] 
      } 
     }, 
     { 
      "bool": { 
      "must_not": { 
       "exists": { 
       "field": "field" 
       } 
      } 
      } 
     } 
     ] 
    } 
    } 
} 
+0

どれでも運が? – Val