简介
SlideLive网站使用Elasticsearch作为文档的搜索引擎。我们需要在搜索下拉框实现如下三种功能:自动补全 (Auto Completion)、纠错、热词推荐。ElasticSearch 为我们提供了Suggester功能,可以方便地实现自动补全、纠错和推荐的功能。
SlideLive是一款PPT在线播放和分享的网站。具体搜索功能的体验,可以移步官网:SlideLive: 分享和发现知识
预备知识
编辑距离
编辑距离,是针对二个字符串(例如英文字)的差异程度的量化量测,量测方式是看至少需要多少次的处理才能将一个字符串变成另一个字符串。
N-gram 语言模型
N-Gram是一种基于统计语言模型的算法。它的基本思想是将文本里面的内容按照字节进行大小为N的滑动窗口操作,形成了长度是N的字节片段序列。每个字节片段称为gram,对所有gram的出现频度进行统计,并且按照事先设定好的阈值进行过滤,形成关键gram列表,也就是这个文本的向量特征空间,列表中的每种gram就是一个特征向量维度。该模型基于这样一种假设,第N个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计N个词同时出现的次数得到。常用的是二元的Bi-Gram和三元的Tri-Gram。
业务目标
-
用户输入拼音时,自动推荐中文内容
-
用户输入中文时,能够实现纠错
中文分词器
由于SlideLi

SlideLive网站利用Elasticsearch的Suggester功能,实现搜索下拉框的自动补全、纠错和热词推荐。通过IK-analyzer进行中文分词,pinyin-analyzer实现拼音化。自动补全采用CompletionSuggester,纠错则借助TermSuggester和PhraseSuggester。未来计划基于用户搜索日志优化推荐功能。
最低0.47元/天 解锁文章
1214

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



