我想知道如何查询字段以完全匹配字符串。
我实际上是想这样查询:
url : "http://www.domain_name.com"
返回以http://www.domain_name.com
开头的所有字符串。
答案 0 :(得分:44)
我遇到了类似的问题,而且#34; .raw"修复它 - 在你的例子中,尝试
url.raw : "http://www.domain_name.com"
答案 1 :(得分:11)
让我们更加了解@ dezhi的评论。
in newer version of ES(5.x, 6.x),
you should use `url.keyword` instead,
as they have changed to a new keyword type.
因此,它将是:
url.keyword : "http://www.domain_name.com"
答案 2 :(得分:6)
开箱即用不支持精确值。
开箱即用,Lucene不提供精确的场地匹配,例如匹配" Acer Negundo Ab"并且只有" Acer Negundo Ab" (不是"宏碁 Negundo Ab IgG" )。 Lucene也没有提供" Starts With"或者"结束 与"功能。幸运的是,有一些解决方法。
答案 3 :(得分:0)
“无法更改用户信息”
要搜索确切的字符串,需要将字符串用双引号引起来。在不带引号的情况下,示例中的搜索将匹配包含以下单词之一的任何文档:“不能”或“更改”或“该”或“信息”或“一个”或“用户”。
Kibana v6.5
答案 4 :(得分:-7)
按照你的查询,看起来很好。
为了匹配,以下是语法:
fieldname : string
和
为了匹配子串,请使用通配符(*),
语法:
fieldname : *string*
此外,无论您使用何种查询;该查询是您的特定输出组件Query Criteria
的一部分。
因此,我建议您检查是否在搜索中应用了wild card
。