基于Lucene.Net的站内搜索引擎的设计(3)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

基于Lucene.Net的站内搜索引擎的设计(3)


   (4)处于网站的一些的保密性,要限制某些信息被搜索到,要考虑如何保护文件的私密性。
2.系统相关技术
2.1中文分词
分词是核心的算法,搜索引擎内部保存的就是一个个的“词(word)”。英文分词特别简单,按照空格分隔就可以。中文比较麻烦,把“北京,Hi欢迎你们大家”拆成“北京 Hi 欢迎 你们 大家”。Lucene.Net中不同的分词算法就是不同的类。所有分词的算法类都从Analyzer类继承,不同的分词算法有不同的优缺点。
    (1)内置的StandardAnalyzer是将英文按照空格、标点符号等进行分词,将中文按照单个字进行分词,一个汉字算一个词。
    (2)二元分词算法,每两个汉字算是一个单词,“欢迎你们大家”会分词为“欢迎   迎你  你们  们大  大家”。
2.2盘古分词
    这个分词的思想就是匹配,但是针对对于多字的词,盘古分词设置了比较高高的优先级,使得分词结果与我们实际想要的结果非常接近。这个分词的优点是完全开源,结构清晰,方便在内部修改源代码,调整权重,并且有一套很好的词典管理工具。缺点就是它的内置的词典太过于混乱,需要我们手动进行修改。
在Lucene.Net的使用盘古分词:PanGu.Lucene.Analyzer.dll中定义了Analyzer的派生类型Lucene.Net.Analysis.PanGu.PanGuAnalyzer,与Tokenizer的派生类Lucene.Net.Analysis.PanGu.PanGuTokenizer,语法与Lucene.Net内置分词器相同 (责任编辑:qin)