《自制搜索引擎》笔记(2)-迷你全文检索引擎Wiser-项目概述
来源:互联网 发布:asp.net商城系统源码 编辑:程序博客网 时间:2024/05/14 16:20
1.基本信息
语言:C语言
平台:Linux / Mac OS X
数据库:SQLite
代码行数:2427行 (不含utHash函数库,不含空行,含注释)
外部依赖函数库:sqllite3;expat
代码规范程度:注释比较详尽,变量、函数名命名规范。
2.文本数据集
Wikipedia Database Dump(中文版),XML格式
3.模块
3.1构建索引模块
(1)获取文档:通过解析XML文件的方式,读取文档
(2)分词:
对于中文(非英文)字符,使用“bi-gram算法”进行分词(通用型分词算法,与具体语言无关,支持中文和英文);
对于英文字符,把连续出现的多个英文字母视为一个词元。(对英文单词的正确分词,在6-6节实现)
(3)索引构建方法:采用一种经过改造的索引构建方法(对“基于合并的索引构建方法”进行改造)
(4)索引压缩:可配置,支持配置为“无压缩”或“Golomb编码压缩”
(5)索引持久化存储:倒排索引以二进制数据的形式,存储于数据库中一个BLOB类型的字段中。
3.2检索模块
(1)分词
(2)索引加载与解压
(3)布尔检索:支持“AND检索”,不支持“OR、NOT检索”
(4)短语搜索(Phrase Search,又称为“词组搜索”):可配置是否启用
(5)文档评分:使用TF-IDF算法
4.用户界面
使用命令行界面:
界面截图:构建索引
界面截图:搜索结果列表
(检索关键词为:“计算机”,按照文档得分降序排列)
随书源码下载
中文版源码:http://www.ituring.com.cn/book/1582,在右侧“随书下载”栏目中
- 《自制搜索引擎》笔记(2)-迷你全文检索引擎Wiser-项目概述
- 学习笔记-【全文检索引擎Sphinx】
- Lucene笔记---全文检索引擎工具包
- lucene搜索引擎--全文检索
- 全文检索引擎 - Ludia
- 全文检索引擎lucene
- Sphinx全文检索引擎
- 全文检索引擎 Sphinx
- sphinx全文检索引擎
- 全文检索引擎Sphinx
- 全文检索引擎 Sphinx
- 全文检索引擎 Sphinx
- 全文检索引擎
- 全文检索引擎- Compass
- Sphinx 全文检索引擎
- 全文检索引擎lucene
- Exchange全文检索概述
- Exchange全文检索概述
- JS组件系列——表格组件神器:bootstrap table(二:父子表和行列调序)
- 中文搜索引擎集成--Xunsearch
- SQL 常用判断语句
- tcp接收策略
- 单片机 C51 编程要点总结
- 《自制搜索引擎》笔记(2)-迷你全文检索引擎Wiser-项目概述
- 家庭媒体中心解决方案(五、群晖系列nas基本功能使用指南篇3-网络记事本和远程监控)
- 比特币隔离见证
- JS组件系列——表格组件神器:bootstrap table(三:终结篇,最后的干货福利)
- C# 窗口间传递参数
- strlen和sizeof的区别
- VS中的快捷键
- Linux下出现launch failed.Binary not found的解决方案:
- CSS基础(五) 个人笔记