自动补齐
我们使用 ES 模仿百度搜索,即自动补全 + 搜索引擎效果。
es为我们提供了关键词的自动补全功能:
GET /product2/_search
{
"suggest": {
"prefix_SUGGESTION": { //自定义推荐名
"prefix": "elastic", //被补齐的关键字
"completion":{
"field":"productName", //查询的域名
"skip_duplicates": true, //是否忽略重复结果
"size":10 //最多查询到的结果数
}
}
}
}
自动补全对性能要求极高, ES 不是通过倒排索引来实现的,所以需要将对应的查询字段类型设置为completion 。