我正在尝试在 Elasticsearch 中索引一个 json 字段,我已经给它外部映射,这个字段应该被视为字符串而不是 json,而且它不需要索引,所以不需要分析它。其映射如下
"json_field": {
"type": "string",
"index": "no"
},
还在索引时,这个字段正在分析,因此我得到 MapperParsingException
简而言之,我们如何在不分析的情况下将 json 存储为 Elasticsearch 中的字符串?
最佳答案
终于明白了 如果你想将 JSON 存储为一个字符串,而不对其进行分析,映射应该是这样的
"json_field": {
"type": "object",
"enabled" : false
},
启用标志允许完全禁用解析和索引命名对象。当 JSON 文档的一部分包含不应被索引或添加到映射中的任意 JSON 时,这很方便。
更新 - 从 ES 版本 7.12 开始,“启用”已更改为“索引”。
关于json - 在 Elasticsearch 中将 Json 字段存储为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25862606/