我正在使用ElasticSearch来让用户搜索包含连接的标记字符串的文本字段。查询看起来是这样的,它很好地工作:ElasticSearch上的查询字符串的模糊查找
{
'query' : {
'query_string' : {
'query' : 'user query with +bool AND operators',
'default_operator' : 'AND',
'fields' : ['tag_string'],
'analyzer' : 'my_analyzer'
}
}
}
不过,我想启用模糊匹配,使英,美拼写都包括在内。例如。我想要获得“灰色”和“灰色”或“颜色”和“颜色”的相同结果。
这可以由用户通过使用模糊运算符“〜”来完成 - 因此搜索“颜色〜”匹配“颜色”和“颜色”。但是,这应该自动完成......但是,搜索查询可能包含bool运算符,因此可能很复杂。
谢谢!你能否更详细地解释模糊因素如何工作?这些沉重的要求或表现是否与他们相符?同义词可能很乏味,因为我们正在使用20种语言:-P –