2017-01-18 84 views
3

我正在試圖查詢我的elasticsearch(版本5.0.0)索引中的字段的.raw版本。該字段的名稱是「區」和它的映射如下:我最初設定的區域測繪與所分析的版本,並在第二步中我通過將原始版本更新的映射ElasticSearch:我可以查詢.raw字段嗎?

{ 

    "properties": { 
    "region": { 
     "type": "text", "analyzer": "custom_analyzer", 
     "fields": { 
     "raw": { 
       "type": "keyword", "index": "not_analyzed" 
     } 
     } 
    } 
    } 
} 

注領域的。

據我所知,從documentation和類似的question在這裏,我可以查詢原始字段以獲取其區域完全匹配我的查詢的文檔。 但是,通過使用以下查詢,不會返回任何結果。

{ 
    "match": { 
     "region.raw": "Northern Ireland" 
    } 
} 

相反,通過使用我的字段的分析版本,結果按預期返回。

{ 
    "match": { 
     "region": "Northern Ireland" 
    } 
} 

,因爲我需要使用原始場,我有以下問題:

  • 對不對我已經把我的映射地區字段的方式嗎?
  • 查詢的方式是否正確?

非常感謝您的幫助。

回答

3

不,你的查詢是正確的。問題是你必須重新索引你的數據,以便用新的映射版本進行索引。

+0

哇,我不敢相信我是如何錯過的。它的工作,謝謝! – christinabo

相關問題