正则表达式 – Kibana正则表达式搜索
我是ELK的新手.我想根据字段中单词出现的顺序搜索文档.例如,
在doc1中,my_field:“MY FOO WORD BAR EXAMPLE”在doc2中,my_field:“MY BAR WORD FOO EXAMPLE” 我想在Kibana中查询文档,其中“FOO”后跟“BAR”而不是相反.所以,我希望doc1在这种情况下返回而不是doc2. my_field.raw:/.*FOO.*BAR.*/ 我也尝试过分析字段(只是my_field),虽然我知道这应该不起作用.当然,这也没有产生任何结果. 请帮我这个正则表达式搜索.为什么我没有得到该查询的任何匹配结果? 解决方法
我不确定为什么正则表达式查询不起作用,但我相信Kibana使用Elasticsearch的查询字符串查询记录
here所以例如你可以通过将搜索放在双引号中进行短语查询(在链接中记录)它会寻找单词“foo”后跟“bar”.这样做也会更好,因为你会在你的分析字段(my_field)上执行此操作,它会对每个单词进行标记,以执行快速查找.所以你在Kibana搜索会是:
my_field:“FOO BAR” 更新: 看起来这是一个恼人的Kibana怪癖(可能是出于向后兼容的原因).无论如何,这不适合您,因为您正在搜索未分析的字段,并且显然默认情况下Kibana会降低搜索范围,因此它将与未分析的大写字母“FOO”不匹配.您可以在here提到的Kibana高级设置中进行配置,特别是通过将配置选项“lowercase_expanded_terms”设置为false. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |