1.概念
1.1 补全api主要分为四类
- Term Suggester(纠错补全,输入错误的情况下补全正确的单词)
- Phrase Suggester(自动补全短语,输入一个单词补全整个短语)
- Completion Suggester(完成补全单词,输出如前半部分,补全整个单词)
- Context Suggester(上下文补全)
整体效果类似百度搜索,如图:

2. Completion suggester 自动补全
针对自动补全场景而设计的建议器。此场景下用户每输入一个字符的时候,就需要即时发送一次查询请求到后端查找匹配项,在用户输入速度较高的情况下对后端响应速度要求比较苛刻。因此实现上它和前面两个Suggester采用了不同的数据结构,索引并非通过倒排来完成,而是将analyze过的数据编码成FST和索引一起存放。对于一个open状态的索引,FST会被ES整个装载到内存里的,进行前缀查找速度极快。但是FST只能用于前缀查找,这也是Completion Suggester的局限所在。
2.1建立索引
put /book
{
"mappings": {
"music" : {
"properties" : {
"suggest" : {
"type" : "completion"
},
"title" : {
"type": "keyword"

本文详细介绍了Elasticsearch中的Completion Suggester,这是一种用于快速自动补全的建议器,特别适合高并发的实时查询场景。通过建立特定的索引结构FST,Completion Suggester能在内存中进行高效的前缀查找。文中展示了如何配置Mapping、插入数据以及执行前缀查询和去重查询,帮助理解其工作原理和使用方法。
最低0.47元/天 解锁文章
2218

被折叠的 条评论
为什么被折叠?



