我正在尝试搜索此类案例 例如我有文件
1)"There are a lot of diesel cars in the city"
2)"Cars have diesel engines"
3)"Bob sold diesel car"
我想找到doc 1和doc 3 如果我写了这样的查询
"query":
{
"function_score":
{ "query":
{"bool":
{"should":[
{"query_string":
{ "fields" : ["text"],
"query" : "\"diesel car\"~1^5"
}}]}}}}
我会找到doc1而不是doc3 如果我使用Ngramm分析仪,这个查询是否也适用于doc3?
或许还有其他解决方案?
邻近搜索仅适用于完全精确的短语,如果单词中只有一个字符发生变化则不起作用。也许ES还有其他解决方案吗?
答案 0 :(得分:0)
试试这个
someString.each_char { |c| bytes += c + "\x00" }
答案 1 :(得分:0)
我找到了解决方案
1)使用英语词干分析器设置和映射
2)使用简单的查询,如
(diesel AND car)^5