【问题标题】:Wild card query on a field with Type Ip in elastic search在弹性搜索中对类型为 Ip 的字段进行通配符查询
【发布时间】:2019-03-15 09:37:36
【问题描述】:

我有一个索引模板,其字段类型为 Ip,如下所示。

 "clientIpAddress": {
      "type": "ip"
  },

如何在此类字段上使用通配符搜索查询进行搜索。我正在尝试以下搜索查询。

"clientIpAddress":  "10.*"

但我收到错误: "'10.*' 不是 IP 字符串文字。

需要帮助才能找到正确的通配符查询。

【问题讨论】:

标签: elasticsearch wildcard


【解决方案1】:

您有两个选项来搜索类型 IP 的查询:

方法一:

curl -XPOST localhost:9200/index_name/type_name/_search -d '{
"query": {
"query_string": {
  "query": "clientIpAddress:[192.168.1.100 TO 192.168.1.102]"
}
}
}'

方法二:

curl -XPOST localhost:9200/index_name/type_name/_search -d '{
"query": {
"range": {
  "add": {
    "gte": "192.168.1.100",
    "lte": "192.168.1.102"
  }
}
}
}' 

【讨论】:

  • 感谢您的回复。这些解决方案运行良好。但我的要求是可以选择进行通配符搜索,例如 clientIpAddress:"10.197"。弹性搜索是否提供该功能?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-28
  • 1970-01-01
  • 2014-12-30
相关资源
最近更新 更多