elasticsearch 使用ElasticSearch返回精确匹配
我正在尝试使用ES查询包含键
elasticsearch 使用ElasticSearch返回精确匹配,
elasticsearch,dataset,url-routing,
elasticsearch,Dataset,Url Routing,我正在尝试使用ES查询包含键foo的数据集。这方面的一个例子是: .../_search?q=+foo:bar\-baz 现在,我的理解是,将+添加到foo属性应该使此搜索返回仅与foo为bar baz的位置完全匹配。然而,我发现我也得到了其他结果,例如foobaz或bazbaz等 我在这里做错了什么导致这些其他结果被返回 编辑:经过更多的研究,这可能是因为使用了标准分析仪,而不是其他不能阻止和标记术语的东西。 “+foo”是指和字段foo “-”表示不 默认运算符为或 您的查询是:字段“f
foo
的数据集。这方面的一个例子是:
.../_search?q=+foo:bar\-baz
现在,我的理解是,将+
添加到foo
属性应该使此搜索返回仅与foo
为bar baz
的位置完全匹配。然而,我发现我也得到了其他结果,例如foobaz
或bazbaz
等
我在这里做错了什么导致这些其他结果被返回
编辑:经过更多的研究,这可能是因为使用了标准分析仪,而不是其他不能阻止和标记术语的东西。- “+foo”是指和字段foo
- “-”表示不
- 默认运算符为或
如果不希望分析字段,可以在映射中指定
“索引”:“未分析”
。然后,您将能够根据需要搜索精确的匹配项
见:
_search?q=foo:"bar-baz"