Lucene.net是Lucene的.net移植版本,是一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。开发人员可以基于Lucene.net实现全文检索的功能。
Lucen.net中不同的分词算法都对应不同的类,所有的分词算法都是从Analyzer类继承。
一元分词算法:StandardAnalyzer是将英文按照空格,标点符号等进行分词
二元分词算法:CJKAnalyzer是将每两个汉字算作一个单词
基于词库的算法:庖丁解牛、盘古分词法等。
//Analyzer analyzer = new StandardAnalyzer();//一元分词 //Analyzer analyzer = new CJKAnalyzer(); Analyzer analyzer = new PanGuAnalyzer(); TokenStream tokenStream = analyzer.TokenStream("", new StringReader("开发人员可以基于Lucene.net实现全文检索的功能")); Lucene.Net.Analysis.Token token = null; while ((token = tokenStream.Next()) != null)//reader.Read()//只要还有词,就不返回null { Console.WriteLine(token.TermText());//token.TermText()为当前分的词 }
需要在文档中添加Lucene.Net.dll,PanGu.Lucene.Analyzer.dll等开发包