DNN中默认的分词功能是根据空格来分词,不支持中文和其他语言的分词功能。具体解释可以参看:
DNN搜索引擎研究 http://www.cnblogs.com/Athos/archive/2007/01/19/624979.html
我这里不多说,因为时间关系,我通过简单的修改DNN中的Provider.Search.DataStore工程中的Split处为ICTCLAS的分词功能来实现中文分词。
我采用的是NICTCLAS,具体见下:
http://blog.csdn.net/web718/archive/2008/04/15/2292930.aspx
我在NICTCLAS上添加了以下一个方法和属性,以便实现灵活地加载数据字典。
具体可以参看代码。
因为时间关系,还没做更好的一些改进,主要觉得以下几方面需要改进:
1. 词库词条再多增加点
2. 实现查询结果关键词高亮显示
3. 对于查询结果的排序优化。目前感觉DNN中的查询结果只是根据出现次数以及位置2个参数进行查询结果的排序,感觉不是很好。另外不能实现基于不同类型设置优先级别。
csdn的博客不支持添加附件,所以如有有需要的留邮件在我评论当中。
有以下文件:
SearchDataStore.rar 源代码
nictclas_microdream_alter.rar 修改后的nictclas
DNN_NICTCLAS.rar 编译好的,可以直接用于DNN网站