我在elasticsearch中有一些数据集。
curl -XPOST 'localhost:9200/_search?pretty' -d
'{
"query": {
"query_string": {
"fields": ["258"],
"query": "*toco*"
}
}
}'
字符串
我得到一个结果,其中字段258是[PhotoComment]。但是,如果您将查询更改为:
curl -XPOST 'localhost:9200/_search?pretty' -d
'{
"query": {
"query_string": {
"fields": ["258"],
"query": "*omme*"
}
}
}'
型
则搜索结果为空。
解释为什么会发生这种情况?
1条答案
按热度按时间ftf50wuq1#
我设法找到了这种奇怪行为的原因。它在分析中使用的一个过滤器中。设置如下:
字符串
调用分析器,过滤器“english_stemmer”后的文本“[PhotoComment]”变为“photocom”,文本“omme”变为“omm”,因此后者不包含在“photocom”中,未找到记录。
我没有找到一个解释为什么“english_stemmer”过滤器的行为是这样的。