json - 在 Elasticsearch 中将 Json 字段存储为字符串?

标签 json indexing elasticsearch mapping

我正在尝试在 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/

相关文章:

c# - JSON.NET - 在运行时排除特定类型的属性

javascript - 无法使用 jquery.getJSON() 获取 json 数据

即使索引存在,mysql也会执行全表扫描

C++ 链表 : IndexOf of an object

具有灵活索引的数据库?

javascript - 仅返回部分术语的 ElasticSearch 查询

node.js - Elasticsearch:搜索具有映射not_analyzed的字段不会有任何结果

elasticsearch - 如何根据Elastic中的数据生成N个FlowFiles并设置每个FlowFile的内容?

python - 类型错误:字符串索引必须是整数//在 python 中使用 JSON 作为 dict

json - jmeter 断言来验证 json 模式