代码拉取完成,页面将自动刷新
基于Lucene基本原理来实现
分词采用jieba
test.py 中有 test_index和test_search用来做索引和搜索测试
fts.index
这个文件记录了 关键词 和关键词对应的文档索引位置
文档索引 是文档在 fts.doc
中的区块索引,通过这个索引可以计算出数据块的准确位置
例如: 文档索引=1
取文件指针开始和结束:
start = 1 - 1 * 4098
end = 1 * 4098
搜索原理:
pos
,这个pos
就是 fts.doc
的索引位置通过上面这个步骤就可以完美的实现全文检索
例如索引的词是:
雷军向金山所有员工赠予每人600股的股票
分词的关键字有: 雷军、金山....
然后我们搜索词是:
雷军是金山的的董事长吗?
这时候分词 有3个关键字
雷军、金山、董事长
通过3个任意关键词就可以找到 索引中的关键词,然后还可以根据击中次数得到分数score
最后根据score 排序
只有最基本的内存全文检索,没有排序、没有分页
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。