让盘古分词支持最新的Lucene.Net 3.0.3

Hailin 发表于 2016-06-16 10:06:15 来源于CMS插件网 评论 0 点击 1090
摘要:利用Lucene.Net与盘古分词实现站内搜索,这个是很多站长都在用的,因为小编之前一直使用Lucene.Net2.9.2.1的版本,所以很顺利,但是最近在做一个小项目时,用的是Lucene.Net3.0.3.0的版本,新的版本不在支持盘古分词,在网上找了很久;有大神通过修改盘古分词的源码顺利的支持…

利用Lucene.Net与盘古分词实现站内搜索,这个是很多站长都在用的,因为小编之前一直使用Lucene.Net2.9.2.1的版本,所以很顺利,但是最近在做一个小项目时,用的是Lucene.Net3.0.3.0的版本,新的版本不在支持盘古分词,在网上找了很久;有大神通过修改盘古分词的源码顺利的支持了Lucene.Net3.0.3.0,但是美中不足的地方就是大神把词库也打包进去了。

这对于小编的项目来说,是致命的打击,因为小编的项目必需要自己管理词库,随时可加可删,因为小编做的一套物流自助订单解析系统,要求收录全国所有行政区域,从省、市、区、镇、乡、街(路)、村,以及所有工业区,酒店、大的标志性建筑;这个词库不可能在一时半会就能完成;所以要不断的写入新的数据进入词库;如果捆绑在一起,小编加个词还需要重新打包,然后在上传到服务器;这是多么大的工作量;小编必需使用独立的词库,然后全国所有网点在录入区域的同时,自动分解出关键词写入到词库中。

找了很久都没有找到;最后小编试着把大神的源码改了一下,成功分离了词库。现在分享给有需要的人。

另外,小编写了一个方法,可以通过网页管理盘古的词库,需要的可以进小编的QQ群找小编。测试页面如下图:

未标题-1.jpg

可能有些人会问,小编的websp.cn为什么不用Lucene.Net做站内搜索,这个因为DTcms的所有分站的搜索结果内容是在一起的,如果网站存在分站时,搜索结果会很混乱,虽然小编的这个网站没有分站,但是小编比较喜欢完美的东西。其实解决分站搜索结果混乱的问题,小编已经有很好的方法解决,就是在地址映射的同时,自动传入一个siteid=站点的ID的参数,然后在内容表中插入一个site_id,用来区分哪些内容是个网站的就好了,这个方法实现非常简单,如果有需要的站长可以在群里找小编。

附件列表

  • 点击下载附件:Pangu.rar 大小41KB 所需积分:0分 下载次数:257次

热门资讯