ElasticSearch使用Array

ElasticSearch允许使用Array作为数据类型。根据Array datatype的描述,Array中所有元素的数据类型必须和第一个元素的数据类型一样。
对于字符串、整数这些基本类型还好,系统可以自动识别。但对于时间、IP这些需要额外指定格式的怎么办?系统怎么知道12.34.56.78是一个IP而不是字符串?
其实你什么都不用干……只要为整个字段指定mapping即可,例如:

PUT /bonree_web
{
  "mappings": {
    "_default_": {
      "properties": {
        "DNS": {"type": "ip"}
      }
    }
  }
}

此时,DNS里既可以存单个IP,也可以存IP数组。

你可能感兴趣的:(Elastic)