让我们说我想搜索"洛杉矶"在城市数据库中。
为什么要关注查询
{
"query": {
"match_phrase_prefix": {
"city": {
"query": "los an",
"max_expansions": 20,
"fuzziness": "AUTO"
}
}
}
}
不匹配"失落的安吉尔"但是,如果我将query
更改为query: los ang
,则匹配" Los angeles"正好。
字段映射为默认分析器
的字符串"city": {
"type": "string"
},
我想实现一个自动完成功能,匹配" los"," los a"和"洛杉矶"同样。
修改:我需要澄清一下,如果los an
我的结果设置为空,而los ang
则返回总计9338的结果。在第一种情况下,我预计至少会有一些命中(超过200万个文档)而不是空结果集。为什么会发生这样的事情?