自动不全—Completion Suggester

    • Completion Suggester 提供了自动完成的功能。用户每输入一个字符,就需要即时发送一个查询请求到后端查找匹配项
    • 对性能要求比较苛刻。Elasticsearch采用了不同的数据结构,并非通过倒排索引来完成。而是将Analyze的数据编码成FST和索引一起存放。FST会被ES整个加载进内存,速度很快
    • FST只能用户前缀查找
    • 使用步骤
      1. 定义Mapping,使用”completion”typeimage.png
      2. 索引数据
      3. 运行”suggest”查询,得到搜索建议

    基于上下文的提示—Context Suggester

    • 可以定义两种类型的Context
      • Category-任意的字符串
      • Geo-地理位置信息
    • 实现Context Suggester的具体步骤
      1. 定制一个Mappingimage.png
      2. 索引数据,并且为每个文档加入Context信息
      3. 结合Context进行Suggestion查询