【发布时间】:2013-12-08 16:19:20
【问题描述】:
我正在使用 ElasticSearch 让用户搜索文本字段,这些文本字段由连接的标签字符串组成。查询看起来像这样,并且运行良好:
{
'query' : {
'query_string' : {
'query' : 'user query with +bool AND operators',
'default_operator' : 'AND',
'fields' : ['tag_string'],
'analyzer' : 'my_analyzer'
}
}
}
不过,我想启用模糊匹配,以便涵盖英式英语和美式拼写。例如。我想为“灰色”和“灰色”或“颜色”和“颜色”获得相同的结果。
这可以由用户通过使用模糊运算符“~”来完成 - 因此搜索“color~”会匹配“color”和“color”。但这应该自动完成……然而,搜索查询可能包含布尔运算符,因此可能很复杂。
【问题讨论】:
标签: elasticsearch query-string fuzzy-search