我在嘗試創建索引時收到異常,並且還有映射。我發出PUT
到我的本地ElasticSearch實例(訴5.1.1)http://127.0.0.1:9200/indexname
用了以下機身一次創建索引和映射時分析異常
{
"settings": {
"index": {
"number_of_replicas": "1",
"number_of_shards": "1"
}
},
"mappings": {
"examplemapping": {
"properties": {
"titel": {
"type": "text",
"index": false
},
"body": {
"type": "text"
},
"room": {
"type": "text",
"index": false
},
"link": {
"type": "text",
"index": false
}
}
}
}
}
我收到以下錯誤
{
"error": {
"root_cause": [
{
"type": "mapper_parsing_exception",
"reason": "No handler for type [text] declared on field [body]"
}
],
"type": "mapper_parsing_exception",
"reason": "Failed to parse mapping [examplemapping]: No handler for type [text] declared on field [body]",
"caused_by": {
"type": "mapper_parsing_exception",
"reason": "No handler for type [text] declared on field [body]"
}
},
"status": 400
}
從上創建索引應該是文件可能創建索引並同時創建一個或多個映射: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html
我已閱讀https://www.elastic.co/guide/en/elasticsearch/reference/current/string.html並相信我正確使用新的數據類型,但例外情況另有說明。
任何幫助,非常感謝。
分辨率
感謝Val i的評論指出了正確的方向。的確我沒有使用5.1.1版本,但版本2.4.3
那麼爲什麼混淆?嗯,我已經運行兩個版本(而不是一次),並startet並使用相應的蝙蝠腳本攔住他們:
call es-2.4.3/bin/service.bat start
call es-5.1.1/bin/elasticsearch-service.bat start
看來,即使我已經運行後,它仍然ES2.4.3那開始了。這可能是由bat腳本內部的邏輯引起的。
展望未來,我會記住檢查服務本身的版本響應,我將不得不找到適當的設置來運行ElasticSearch的多個版本。
感謝您的答案。
您確定您正在運行ES 5.1.1嗎? 'curl -XGET localhost:9200 /'告訴你什麼? – Val
錯誤是想說彈性無法找到文本處理程序,你可以請重新檢查你的版本爲彈性5.1.1支持文本 – user3775217
@darkdark你應該創建一個答案並接受它;-) – Val