Kibana查询完全匹配

sma*_*ace 35 regex lucene elasticsearch kibana

我想知道如何查询字段以完全匹配字符串.

我实际上试图像这样查询:

url : "http://www.domain_name.com"
Run Code Online (Sandbox Code Playgroud)

返回以#开头的所有字符串http://www.domain_name.com.

Mar*_*rkD 49

我有一个类似的问题,并且ifound".raw"修复它 - 在你的例子中,尝试

url.raw : "http://www.domain_name.com"
Run Code Online (Sandbox Code Playgroud)

  • 在较新版本的ES(5.x,6.x)中,您应该使用url.keyword,因为它们已更改为新的关键字类型. (11认同)
  • 非常感谢,使用.raw,我们可以访问未过滤/未加入的字符串! (2认同)

Nat*_*Coy 14

只是为@d​​ezhi的评论提供更多的可见性.

in newer version of ES(5.x, 6.x), 
you should use `url.keyword` instead, 
as they have changed to a new keyword type.
Run Code Online (Sandbox Code Playgroud)

因此,它将是:

url.keyword : "http://www.domain_name.com"
Run Code Online (Sandbox Code Playgroud)

  • 谢谢:)救星! (2认同)

JAR*_*ans 6

开箱即用不支持精确值.

http://blogs.perl.org/users/mark_leighton_fisher/2012/01/stupid-lucene-tricks-exact-match-starts-with-ends-with.html

开箱即用,Lucene不提供精确的场地匹配,例如匹配"Acer Negundo Ab"和仅"Acer Negundo Ab"(不是"Acer Negundo Ab IgG").Lucene也没有提供"Starts With"或"Ends With"功能.幸运的是,有一些解决方法.