带有IP或号码的Elasticsearch7查询match_phrase不起作用

cu6pst1q  于 2022-11-02  发布在  ElasticSearch
关注(0)|答案(1)|浏览(309)

我试图在ES7中解析一个错误信息。该信息包含IP和数字。我尝试使用正则表达式和简单搜索插入IP的第一部分。两者都不起作用。
这是我的简单match_phrase查询。在“IP”之前,查询工作正常,但是,一旦我将查询扩展到IP中的第一个数字,我就得到0个匹配:

"match_phrase": {
            "mylog.messages": {"query": "The device with IP 127."}}

我的正则表达式查询给我一个400错误:

"regexp": {"mylog.messages": {"value":"The device with IP /[0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3}/"}}

任何关于如何匹配错误信息中的IP的建议都是受欢迎的。谢谢

gzszwxb4

gzszwxb41#

Ip地址不能与match pharse一起使用。您需要自定义分析器才能使其与match pharse一起使用
我已经更正了你的正则表达式。你可以从here获得更多关于支持的正则表达式语法的信息

{
  "query": {
    "regexp": {
      "messages.keyword": {
        "value": "The device with IP [0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"
      }
    }
  }
}

相关问题