2016-01-05 65 views
0

我們使用的是Elasticsearch 1.6,我有一個工作三期查詢,我需要修改一個獨立的工作缺少過濾器。下面是當前的代碼:如何將術語過濾器與Elasticsearch中缺少的過濾器結合起來?

的原詞的查詢與三個條目

GET ... 
{ 
    "query": { 
    "nested": { 
     "path": "MAIN_FIELD", 
     "query": { 
     "bool": { 
      "must": [ 
      { 
       "term": { 
       "MAIN_FIELD.ID": 1234 
       } 
      }, 
      { 
       "term": { 
       "MAIN_FIELD.OTHER_IND": "false" 
       } 
      }, 
      { 
       "term": { 
       "MAIN_FIELD.INDICATOR": "Y" 
       } 
      } 
      ] 
     } 
     } 
    } 
    } 

}

的獨立失蹤查詢:

GET ... 
{ 
    "query" : { 
     "filtered" : { 
      "filter" : { 
       "missing" : { "field" : "MAIN_FIELD.OTHER_IND" } 
      } 
     } 
    } 
} 

如何更改術語查詢從第一個查詢:

"term": { 
      "MAIN_FIELD.OTHER_IND": "false" 
     } 

使用缺少的過濾器?

回答

1

我想你想要的是如下:

{ 
    "query": { 
     "nested": { 
     "path": "MAIN_FIELD", 
     "query": { 
      "bool": { 
       "must": [ 
        { 
        "term": { 
         "MAIN_FIELD.ID": 1234 
        } 
        }, 
        { 
        "filtered": { 
         "filter": { 
          "missing": { 
           "field": "MAIN_FIELD.OTHER_IND" 
          } 
         } 
        } 
        }, 
        { 
        "term": { 
         "MAIN_FIELD.INDICATOR": "Y" 
        } 
        } 
       ] 
      } 
     } 
     } 
    } 
} 
+0

對不起,我更新的問題與問題的更好的措辭。 –

+0

更新了我的答案。這是否工作? – bittusarkar

+0

不,缺失在該位置不可用。我已經嘗試過了。我想我將不得不重寫查詢以使其起作用,而不是僅僅修改現有的查詢。 –

相關問題