一尘不染

将部分IP与Elasticsearch匹配

elasticsearch

在索引中,我有一个IP字段。字段的类型为“ ip”。

我想搜索所有以“ 192.168”开头的IP

我所有的尝试都失败了,并显示以下消息:

无法解析IP [192.168],不是有效的IP地址

有没有办法做到这一点,还是应该将字段的类型更改为“字符串”?

谢谢。


阅读 681

收藏
2020-06-22

共1个答案

一尘不染

您可以使用范围查询,例如:

GET my_index/_search
{
  "query": {
    "range": {
      "ip_addr": {
        "gte": "192.168.0.0",
        "lt":  "192.168.255.255"
      }
    }
  }
}
2020-06-22