盘古搜索

Net Core使用Lucene.Net和盘古分词器 实现全文检索

和自甴很熟 提交于 2019-12-31 20:11:21
Lucene.net Lucene.net是Lucene的.net移植版本,是一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,是一个高性能、可伸缩的文本搜索引擎库。它的功能就是负责将文本数据按照某种分词算法进行切词,分词后的结果存储在索引库中,从索引库检索数据的速度非常快。Lucene.net需要有索引库,并且只能进行站内搜索。(来自百度百科) 效果图 盘古分词 如何使用 将PanGu.dIl与PanGu.Lucenet.Analyzer. dl并加入到项目中 将Dict文件,拷贝到项目Bin文件夹里面 字典文件夹下载: https://pan.baidu.com/s/1HNiLp6bCcodN8vqlck066g 提取码: xydc 测试 可以看到,盘古分词相对Lucene.net自带的一元分词来说,是比较好的,因为一元分词不适合进行中文检索。 一元分词是按字拆分的,比如上面一句话,使用一元分词拆分的结果是:"有","一","种","方","言","叫","做","不","老","盖","儿"。如果查找“方言”这个词,是找不到查询结果的。不符合我们的检索习惯,所以基本不使用。 拓展 上面的"不老盖儿"(河南方言),这里想组成一个词,那么需要创建"不老盖儿"词组并添加到字典里面。 使用DictManage工具