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

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

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

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

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

  1. "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获得更多关于支持的正则表达式语法的信息

  1. {
  2. "query": {
  3. "regexp": {
  4. "messages.keyword": {
  5. "value": "The device with IP [0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"
  6. }
  7. }
  8. }
  9. }

相关问题