Lucene.Net
只是一个全文检索开发包,不是一个成型的搜索引擎
功能就是负责将文本数据按照某种分词算法进行切词,分词后的结果存储在索引库中,从索引库检索数据的速度灰常快
- 文本数据:
Lucene.Net
只能对文本信息进行检索,所以非文本信息要么转换成为文本信息,要么你就死了这条心吧! - 分词算法:将一句完整的话分解成若干词汇的算法 常见的一元分词(
Lucene.Net
内置就是一元分词,效率高,契合度低),二元分词,基于词库的分词算法(契合度高,效率低)… - 切词:将一句完整的话,按分词算法切成若干词语
- 比如:“不是所有痞子都叫一毛” 这句话,如果根据一元分词算法则被切成: 不 是 所 有 痞 子 都 叫 一 毛
- 如果二元分词算法则切成: 不是 是所 所有 有痞 痞子 子都 都叫 叫一 一毛
- 如果基于词库的算法有可能:不是 所有 痞子 都叫 一毛 具体看词库
- 索引库:简单的理解成一个提供了全文检索功能的数据库
Lucene.Net
是一个C#开发的开源全文索引库,其源码包括“核心”与“外围”两部分。外围部分实现辅助功能,而核心部分包括:
Lucene.Net.Index
提供索引管理,词组排序。Lucene.Net.Search
提供查询相关功能。Lucene.Net.Store
支持数据存储管理,主要包括I/O操作。Lucene.Net.Util
公共类。Lucene.Net.Documents
负责描述索引存储时的文件结构管理。Lucene.Net.QueryParsers
提供查询语法。Lucene.Net.Analysis
负责分析文本。