加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – Kibana正则表达式搜索

发布时间:2020-12-14 06:07:43 所属栏目:百科 来源:网络整理
导读:我是ELK的新手.我想根据字段中单词出现的顺序搜索文档.例如, 在doc1中,my_field:“MY FOO WORD BAR EXAMPLE”在doc2中,my_field:“MY BAR WORD FOO EXAMPLE” 我想在Kibana中查询文档,其中“FOO”后跟“BAR”而不是相反.所以,我希望doc1在这种情况下返回而
我是ELK的新手.我想根据字段中单词出现的顺序搜索文档.例如,

在doc1中,my_field:“MY FOO WORD BAR EXAMPLE”在doc2中,my_field:“MY BAR WORD FOO EXAMPLE”

我想在Kibana中查询文档,其中“FOO”后跟“BAR”而不是相反.所以,我希望doc1在这种情况下返回而不是doc2.
我尝试在Kibana搜索中使用以下查询.但是,它不起作用.此查询甚至不会产生任何搜索结果.

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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读