elasticsearch - Elasticsearch Index Management 是否允许使用点映射属性名称?

标签 elasticsearch

例如,一个包含键值对的 JSON 文件,其中键名之间有一个点。上传此文件时,点被视为下一行\n 并且名称将分为两个属性。我尝试在设置中使用 mapper.allow_dots_in_name=True 但没有效果。

别人发的类似问题,没有回复https://discuss.elastic.co/t/disable-expansion-of-field-names-with-dots-in-mapping/84761

如果有人能提供帮助,我们将不胜感激。

最佳答案

Elasticsearch 2.4 包含一个属性,其中字段名称可以包含一个点。并且该字段不会转换为对象样式映射。

可以通过以下方式启用此设置

export ES_JAVA_OPTS="-Dmapper.allow_dots_in_name=true"

但是从 5.x 开始,如果不转换成对象映射,就无法获取带点的字段值。如果你索引一个像 abc.foo.bar 这样的字段(没有显式映射)。这将转换为

{
  "mappings": {
    "properties": {
      "abc": {
        "properties": {
          "foo": {
            "properties": {
              "bar": {
                "type": "long"
              }
            }
          }
        }
      }
    }
  }
}

最好避免在字段名称中使用点。您可以引用此文档,了解更多关于 this 的信息

关于elasticsearch - Elasticsearch Index Management 是否允许使用点映射属性名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67277831/

相关文章:

elasticsearch - 使用 Watcher 和 Kibana 监控电子邮件日志,在最后一分钟内每分钟触发一次

elasticsearch - Lucene中的发帖格式和点数格式有什么区别?

elasticsearch - mget 生成 : Unable to parse response body for Response

nginx - nginx反向代理发送客户端IP而不是服务器IP

javascript - 如何在 javascript ElasticSearch API 之外返回或传递输出

search - Elasticsearch索引备份选项

elasticsearch - 按小时返回的Elasticsearch聚合返回重复的小时数

elasticsearch - ElasticSearch如何处理具有2.3亿个条目的索引?

elasticsearch - Kibana脚本字段排序

java - 通过 Java 代码使用反向代理 url 连接 Elastic Search