《自制搜索引擎》笔记(2)-迷你全文检索引擎Wiser-项目概述

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,在右侧“随书下载”栏目中

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值