【发布时间】:2018-01-30 16:58:23
【问题描述】:
是否可以使用多字段来设置和查询多语言字段?
考虑这个映射:
PUT multi_test
{
"mappings": {
"data": {
"_field_names": {
"enabled": false
},
"properties": {
"book_title": {
"type": "text",
"fields": {
"english": {
"type": "text",
"analyzer": "english"
},
"german": {
"type": "text",
"analyzer": "german"
},
"italian": {
"type": "text",
"analyzer": "italian"
}
}
}
}
}
}
}
我尝试了以下方法,但它不起作用:
PUT multi_test/data/1
{
"book_title.english": "It's good",
"book_title.german": "Das gut"
}
错误似乎表明我正在尝试添加新字段:
{“错误”:{“root_cause”:[{“类型”:“mapper_parsing_exception”, “原因”:“无法为字段动态添加映射 [书名.英文]。 [book_title] 的现有映射必须是 键入对象但找到 [文本]。" } ], "type": "mapper_parsing_exception", "reason": "不能动态添加 字段 [book_title.english] 的映射。现有的映射 [book_title] 必须是 object 类型,但找到了 [text]。" }, "status": 400 }
我在这里做错了什么?
如果我的方法行不通,有什么更好的方法来做到这一点?
【问题讨论】:
标签: elasticsearch multilingual full-text-indexing