您好我之前使用的是弹性版本1.6,并为索引进行了映射,如下所示
// jarSetup.json
mappings": {
"jardata": {
"properties": {
"groupID": {
"index": "not_analyzed",
"type": "string"
},
"artifactID": {
"index": "not_analyzed",
"type": "string"
},
"directory": {
"type": "string"
},
"jarFileName": {
"index": "not_analyzed",
"type": "string"
},
"version": {
"index": "not_analyzed",
"type": "string"
}
}
}
}
我运行命令curl -XPOST http://localhost:9200/testjar -d @jarSetup.json
来进行映射。它在弹性版1.6中运行良好。但是当我在5.6版本中尝试完全相同的东西时,它给了我一个错误
No handler found for uri [/testjardata] and method [POST]
我无法弄清问题是什么。如果有人对此有所了解,请帮助我。
答案 0 :(得分:1)
创建索引时需要使用PUT方法
curl -XPUT http://localhost:9200/testjar -d @jarSetup.json
此外,已分析的字符串字段现在称为text
,未分析的字符串字段称为keyword
,因此您的jarSetup.json
文件应如下所示:
mappings": {
"jardata": {
"properties": {
"groupID": {
"type": "keyword"
},
"artifactID": {
"type": "keyword"
},
"directory": {
"type": "text"
},
"jarFileName": {
"type": "keyword"
},
"version": {
"type": "keyword"
}
}
}
}