业务背景
现在时代,一个全文检索的需求其实非常常见。
针对博客文章的查询,针对商品信息等检索,针对网页的检索。
这些如果采用传统的 like 模糊查询实现,在数据量特别大的时候,是行不通的。
本引擎简化实现 lucene,实现一个简单易用的全文检索引擎。
核心理念
最核心的功能:
添加字段信息,对应的文本,可以执行分词存储。
根据关键词,可以检索对应的信息。
对应 lucene 中的:
1)索引的创建
2)索引的检索
拓展能力
可以进一步引入 NLP 的其他能力:
pinyin 繁简体 拼写纠正
相似字 近义词 停顿词 否定词
权重
TI-TDF 算法
整体思路
用户输入一个文本,针对这个词进行分词,然后存储。
通过倒排索引的方式,进行存储。
存储的时候,根据输入的条件,分词匹配,通过 TI-TDF 算法计算相似度得分,返回对应的相似结果列表。
程序的命名
简单点:就叫 fulltext-search
lucene/solr/spark 这些优秀的名字,非常好听,但是不够直接。