2012-10-09 38 views
1

這是我第一次使用'missing'參數,我不確定是否做錯了,因爲我沒有得到我所期望的。elastich在查詢時搜索缺少過濾器

有人可以告訴我,如果缺少的條件正確地集成在此查詢中?它應該創建5個方面,僅針對每個只計算「在索引中未設置」十進制小角度字段的事件或其值爲空的事件。

curl -XGET http://my_url:9200/idx_occurrence/Occurrene/_search?pretty=true -d '{ 
    "filter": { 
     "missing": { 
      "field": "decimallatitude", 
      "existence": true, 
      "null_value": true 
     } 
    }, 
    "query": { 
     "query_string": { 
      "fields": ["dataset"], 
      "query": "3", 
      "default_operator": "AND" 
     } 
    }, 
    "facets": { 
     "test": { 
      "terms": { 
       "field": ["kingdom_interpreted"], 
       "size": 5 
      } 
     } 
    } 
} 
' 

回答

1

,你可以在Search API - Filter網頁上看到,該過濾器被應用到您的查詢結果但不給方面。要使它適用於刻面,請嘗試使用Filtered Query而不是

curl -XGET http://my_url:9200/idx_occurrence/Occurrene/_search?pretty=true -d '{ 
    "query": { 
     "filtered": { 
      "filter": { 
       "missing": { 
        "field": "decimallatitude", 
        "existence": true, 
        "null_value": true 
       } 
      }, 
      "query": { 
       "query_string": { 
        "fields": ["dataset"], 
        "query": "3", 
        "default_operator": "AND" 
       } 
      } 
     } 
    }, 
    "facets": { 
     "test": { 
      "terms": { 
       "field": ["kingdom_interpreted"], 
       "size": 5 
      } 
     } 
    } 
} 
' 
相關問題