我有一个要求,我无法向ElasticSearch索引添加任何映射,因为所有索引都是动态的,并且在运行时创建,并且所有索引都有不同的字段(只有5个常用字段)。因此,我在使用URL的术语过滤器(例如http://www.domain.com/a/b)或mimetype(例如image / jpeg)时遇到问题。在不添加映射的情况下绕过斜杠或其他特殊字符的最佳方法是什么?
答案 0 :(得分:1)
您可以将模板添加到弹性搜索索引
您可以指定索引,并在运行时自动为您的所有数据创建映射。
答案 1 :(得分:0)
根据@tcarmet的回答,这就是我最终用于模板的内容。
{
"enable_raw_string": {
"order": 0,
"template": "*",
"settings": {},
"mappings": {
"_default_": {
"dynamic_templates": [
{
"strings": {
"mapping": {
"type": "string",
"fields": {
"raw": {
"ignore_above": 256,
"index": "not_analyzed",
"type": "string"
}
}
},
"match_mapping_type": "string"
}
}
]
}
},
"aliases": {}
}
}
然后我可以过滤x.raw而不是x。