千万级数据的全文检索搜索引擎(二)
来源:互联网 发布:法语自学软件app 编辑:程序博客网 时间:2024/04/30 18:24
全文检索是一套比较复杂的系统,在介绍架构之前,需要介绍一些基本的模块。
千万级数据的全文检索搜索引擎--分词
(一)二元分词
在我们的第一个版本中,使用的是二元分词,大概用了接近一年的时间,二元分词就是每相邻2个词做一次切分,不包含英文,英文单独切分。
二元分词一个缺点是索引比较大,有大量的冗余,带来存储和索引查找的压力
第二个缺点是无法搜索单字,这是一个比较大的问题,在运营期间,这个缺点一直受到运营人员和市场人员的质疑。也是基于这个原因,我们引入了第二套分词方法。
(二)辞典分词
系统使用了一个辞典,其中包含了一万多条常用的短语,分词时先在辞典中查找出所有可能的分词集合,然后选择分词粒度最小的一个集合(后台索引时)。搜索时,对用户数输入的长句子,在辞典中选择一个粒度最大的分词集合。
为了解决上面的第二个缺点,我们引入了一个单字索引,对数据做全切分,每个单字建立索引,由于汉字的数量有限,所以增加的扩展词库不会非常大。
目前这套分词系统使用的效果比较好。配合前台做一些常关键词的自动切分,可以满足用户的搜索需求。
分词的一个总的原则就是:用户输入的分词粒度要尽量大,后台索引分词粒度要尽量小。
- 千万级数据的全文检索搜索引擎(二)
- 千万级数据的全文检索搜索引擎(一)
- 千万级数据的全文检索搜索引擎(三)
- 千万级数据的全文检索搜索引擎(四)
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计[转载]
- 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计
- 千万级数据的分类搜索引擎(二)
- 千万级数据的分类搜索引擎(一)
- 千万级数据的分类搜索引擎(三)
- 千万级数据的分类搜索引擎(四)
- 千万级数据的分类搜索引擎(五)
- 千万级数据的分类搜索引擎(六)
- Django的全文检索功能(二):whoosh搜索引擎
- 美国才是世界安全的最大威胁
- linux Unix 实用命令
- linux服务器深度历险 序言
- freebsd 配置mysql
- 8.17
- 千万级数据的全文检索搜索引擎(二)
- 网站最难做的是什么?
- Seven Lonely Days
- 标准女友20准则
- C#基础概念二十五问
- Javascript中继承和Prototype的关系
- 网页javascript精华代码集
- 摘录-BCGControlBar 的使用方法
- 宽字符 和 字符 转换