2013-10-31 28 views
2

我正試圖在彈性搜索服務器中的字段中實現完成建議器。當我嘗試執行curl命令在彈性搜索服務器中的字段上實現完成建議器

curl -X POST localhost:9200/anisug/_suggest?pretty -d '{ 
"test" : { 
    "text" : "n", 
    "completion" : { 
     "field" : "header" 
    } 
} 
}' 

我得到一個異常:

ElasticSearchException [領域頭]是不是一個完成建議 場。

我錯過了什麼?

+0

完成不適用於通用字段,它只適用於類型爲「完成」的字段,因此您需要先設置您的映射。 – Tor

回答

3

我認爲,在定義anisug的映射時,您需要設置標題字段以提示完成。例如,您可以使用此類

curl -X PUT localhost:9200/anisug/_mapping -d '{ 
    "test" : { 
     "properties" : { 
      "name" : { "type" : "string" }, 
      "header" : { "type" : "completion", 
          "index_analyzer" : "simple", 
          "search_analyzer" : "simple", 
          "payloads" : true 
      } 
     } 
    } 
}' 

同樣,在索引數據時,您需要發送附加完成信息。欲瞭解更多信息,請訪問this link