我正在努力寻找精确的匹配。此字段在文档中的两个字段中是相同的,分别位于\u id和正文中的一个字段中。
所以我可以搜索这两个字段中的任何一个。有没有办法配置术语查询来支持这一点?我尝试过指定whitespaceanalyzer,但它似乎不支持术语查询的配置。
我试过几种不同的方法,但到目前为止都不管用。。
data: {
query: {
term: {
"_id":"4123-0000"
}
}
}
这没有任何回报
1条答案
按热度按时间qoefvg9y1#
问题是,当您使用默认Map时
_id
字段似乎由您填充,这将使用text
使用standard
分析器并根据-
,所以你的_id
字段标记如下:发布/分析
和代币
现在你可能知道了
term
查询未分析(即它使用4123-0000
因为它是,并试图在倒排索引中找到,这是不可用的,因此你不会得到任何结果。解决方案,只需更换
_id
至_id.keyword
获取搜索结果。