允许elasticsearch在字段名称中插入点

时间:2017-04-24 00:33:39

标签: elasticsearch elasticsearch-2.0

我试图在elasticsearch(ver 2.3)中插入数据,其中包含字段名称中的点。字段名称非常动态且嵌套,也可以包含各种特殊字符。是否有可能将这种数据插入到elasticsearch中。那将是多么简单和有效?

我想插入的示例JSON: -

 {
  "v-5c": {
    "reg": "us1",
    "sTypes": {
      "app": [
        {
          "z": "us1b",
          "sId": "s-73f",
          "availableIps": 990
        },
        {
          "z": "us1a",
          "sId": "s-253",
          "availableIps": 1011
        }
      ]
    },
    "sgs": {
      "st": "sg-346",
      "lb-hps-xrks": "sgea1"
    },
    "cs": {
      "abc.xyz.xyz.com": "valu1",
      "abc-xyz_zyz.com": "value2"
    }
  }
}

我看到的错误如下: -

{"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"Field name [abc.xyz.xyz.com] cannot contain '.'"}],"type":"mapper_parsing_exception","reason":"Field name [abc.xyz.xyz.com] cannot contain '.'"},"status":400}

我会在其中插入包含点的字段名称,这是非常好的,否则任何其他解决方案也是可以接受的。请建议?

由于

1 个答案:

答案 0 :(得分:0)

在elasticsearch 2.0中的字段名称中不允许使用点。请参阅elasticsearch commit - Enforce field names do not contain dot - 2015年7月7日

但请查看elasticsearch 2.4,5.0 - Mappings: Allow to force dots in field names - 2016年8月11日