elasticsearch - 添加具有与映射中指定值不同类型的值的字段

标签 elasticsearch elasticsearch-mapping

如果我在文档中添加新的字符串字段,则将自动为其创建映射,这里是可以的字符串:

curl -XPOST http://localhost:9200/jakis/typ -d '{"imie": "John"}'

结果:
{
  "ok": true,
  "_index": "jakis",
  "_type": "typ",
  "_id": "GY5AYdaVRH-Vg-XcBQzWYw",
  "_version": 1
}
curl -XGET http://localhost:9200/jakis/_mapping

结果:
{
  "jakis": {
    "typ": {
      "properties": {
        "imie": {
          "type": "string"
        }
      }
    }
  }
}

但是,如果我添加一个名称与映射中已经存在但名称不同的字段相同的字段,但类型不同(在映射中是字符串,这里我添加整数),那么Elasticsearch会很高兴地添加新文档,但不会将整数字段的新映射放入类型中映射:
curl -XPOST http://localhost:9200/jakis/typ -d '{"imie": 2}'      

结果:
{
  "ok": true,
  "_index": "jakis",
  "_type": "typ",
  "_id": "zLpMl5_RSTiceFFG31mj6Q",
  "_version": 1
}
curl -XGET http://localhost:9200/jakis/typ/_mapping

结果:
{
  "typ": {
    "properties": {
      "imie": {
        "type": "string"
      }
    }
  }
}

问题是-将这个字段添加为整数还是将其转换为字符串?有什么方法可以将其报告为错误?

最佳答案

它将数字2转换为字符串“2”。只有在没有适当的类型转换器或无法进行转换时(例如,将大整数添加到整数字段中),它才会抛出异常。

关于elasticsearch - 添加具有与映射中指定值不同类型的值的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19797134/

相关文章:

elasticsearch - 不能使用馆长3.4.1删除我的ELK版本:5.6.5中的日志

java - java api中的 Elasticsearch 查询

elasticsearch - 聚集的 Elasticsearch 百分比

nested - Pyspark - 使用 collect_list 时保留空值

elasticsearch - Elasticsearch创建映射问题

elasticsearch - 如何使用 elasticsearch 重命名处理器和摄取管道重命名包含点的嵌套字段

elasticsearch - 对多个文件使用sql_last_value:Logstash

elasticsearch - 当在映射的属性中给定分析器时如何分析句子-ElasticSearch

arrays - 如何知道字段是否是Elasticsearch中的数组?

elasticsearch - 更新Elasticsearch中现有字段的映射索引参数