当前位置: 首页 > 面试题库 >

将部分IP与Elasticsearch匹配

裴劲
2023-03-14
问题内容

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

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

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

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

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

谢谢。


问题答案:

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

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


 类似资料:
  • 下面是用于匹配的json示例;匹配包含不起作用。 它的投掷低于错误,

  • 我和ElasticSearch一起工作。当我执行此查询时: 我得到了我想要的(所有的结果,其中有参考黑莓,但不是Q10)。 但是,我想限制搜索的字段只限于“title”字段。例如,_source文档有标题、正文、标签等,我只想搜索标题。ElasticSearch“匹配”似乎很适合我... 虽然这只成功地搜索了标题,但它仍然返回标题中带有Q10的结果,这与上面的搜索不同。 我正在看比赛文档,但似乎不

  • 问题内容: 我正在尝试为最终用户提供搜索类型,这更像sqlserver。我能够为给定的SQL场景实现ES查询: 但是ES查询不适用于此sql查询 在我的elasticsearch以及通配符查询中,我还需要执行一些布尔过滤查询 上面的带有通配符搜索的弹性查询可以很好地工作,并让我获得所有与pete匹配且不是xyz和abc类型的文档。但是当我尝试使用以空格分隔的2个独立单词执行通配符时,相同的查询返回

  • 问题内容: 我有一个类似于http://drive.google.com的链接,并且我想在该链接之外匹配“ google”。 我有: 但这仅在整个文本为“ google”时才匹配(不区分大小写,因此也匹配Google或GooGlE等)。如何匹配另一个字符串中的“ google”? 问题答案: 关键是您使用的ElasticSearch正则表达式需要 完整的字符串匹配 : Lucene的模式总是锚定的

  • 问题内容: 我正在寻找一种将给定IP4点缀四边形IP与CIDR表示掩码匹配的快速/简单方法。 我有一堆IP,我需要查看它们是否与IP范围匹配。 例: 会是什么模样? 它并不一定必须很简单,但是快速就可以了。仅使用内置/通用功能的任何东西都是一种奖励(因为我很可能会让一个人向我展示梨子中的某些东西,但这样做我不能依赖于梨子或该软件包安装在我的代码所在的位置)部署)。 问题答案: 如果仅使用IPv4:

  • 问题内容: 我正在尝试使查询工作从表单控件获取值(有时只是字符串的第一部分)。我的问题是,仅在键入完整字符串时它才返回记录。 即在姓氏框中,我应该能够键入gr,它会弹出 绿灰色格雷厄姆 但是目前,除非使用完整的搜索字符串,否则它不会显示任何内容。 所涉及的表单上有4个搜索控件,并且仅当填写该框时才在查询中使用它们。 查询是: 问题答案: 有一种访问方法! 如果您在表单上具有“过滤器”控件,那么为什