官方文档说,我们可以为每个索引创建string
类型的映射,以MongoDB数据库和集合名称命名为animals.kitten
。
我尝试将映射创建为:
$ curl -XPUT 'http://localhost:9200/animals.kitten/_mapping' -d '
{
"animals.kitten" : {
"properties" : {
"name" : {"type" : "string", "store" : true }
}
}
}'
但它会将错误抛出:
{
"error": "ActionRequestValidationException[Validation Failed: 1: mapping type is missing;]",
"status": 500
}
我不知道我哪里错了。我尝试了不同的替代方案,但效果不佳。尽管elasticsearch为索引animals.kitten
中的每个字段生成动态映射,但如果我可以手动插入映射,那将会很棒。
答案 0 :(得分:1)
抱歉,对于迟到的回答,我找到了做映射的方法。映射的例子是:
curl -XPUT "http://localhost:9200/animals.kitten/string/_mapping" -d'{
"string": {
"properties" : {
"name" : {"type" : "string", "store" : true }
}
}
}'
答案 1 :(得分:0)
您的索引名称丢失且您的类型名称不一致(缺少最后的“s”)。这有效:
curl -XPUT 'http://localhost:9200/myindex/animals.kittens/_mapping' -d '
{
"animals.kittens" : {
"properties" : {
"name" : {"type" : "string", "store" : true }
}
}
}'
(你需要先创建索引)