使用动态类型和属性列表创建索引

时间:2015-05-19 03:49:39

标签: elasticsearch

我目前有格式的文档:

{
  name: string 
  foo: integer or string
}

   "mappings": {
      "users": {
         "properties": {
            "name": {
               "type": "string",
               "index_analyzer": "edge_ngram_analyzer",
               "search_analyzer": "standard"
            }
         }
      }
   }

当第一个文档被处理时,当前看到foo为整数,而foo是一个字符串的文档时出现错误 - 所以我需要将foo设置为动态类型。我还希望以后可以使用其他动态类型属性向ES发送文档,而无需删除和重新创建索引,例如:

{
  name: string
  foo: int or string
  bar: int or string
}

1 个答案:

答案 0 :(得分:1)

为什么不将它声明为String,以便它匹配整数和字符串?基本上你的整数将被转换为字符串,但我不能想到这应该是有问题的原因,因为你必须在任何情况下检索数据时仔细解析,无论它是动态的还是固定为包含整数的字符串。 / p>