lucene使用IKAnalyzer3.2.8中文分词器进行索引的一个小例子
2011-11-07 08:29
561 查看
使用IKAnalyzer3.2.8中文分词器进行索引,并进行搜索的一个小例子。
例子需导入IKAnalyzer3.2.8.jar包以及lucene相关的包,例子中我用的lucene包为lucene-core-3.4.0.jar。
例子需导入IKAnalyzer3.2.8.jar包以及lucene相关的包,例子中我用的lucene包为lucene-core-3.4.0.jar。
package com.ik; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.IndexWriterConfig; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; import org.apache.lucene.search.TopDocs; import org.apache.lucene.store.Directory; import org.apache.lucene.store.RAMDirectory; import org.apache.lucene.util.Version; import org.wltea.analyzer.lucene.IKAnalyzer; import org.wltea.analyzer.lucene.IKQueryParser; import org.wltea.analyzer.lucene.IKSimilarity; public class IkLucene { public static void main(String []args) throws Exception { Directory directory = new RAMDirectory(); Analyzer analyzer = new IKAnalyzer(); IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_34, analyzer); IndexWriter indexWriter = new IndexWriter(directory, iwc); String str = "你好沈阳,这里是辽宁!欢迎光临!"; Document doc = new Document(); doc.add(new Field("contents",str,Field.Store.YES,Field.Index.ANALYZED)); indexWriter.addDocument(doc); str = "我是作者,在沈阳工作!现在还是一个普通的职员"; doc = new Document(); doc.add(new Field("contents",str,Field.Store.YES,Field.Index.ANALYZED)); indexWriter.addDocument(doc); indexWriter.close(); IndexSearcher searcher = new IndexSearcher(directory); searcher.setSimilarity(new IKSimilarity()); String keyWords = "沈阳"; Query query = IKQueryParser.parse("contents",keyWords); TopDocs topDocs = searcher.search(query, Integer.MAX_VALUE); System.out.println(topDocs.totalHits); } }
相关文章推荐
- lucene使用IKAnalyzer3.2.5中文分词器进行索引的一个小例子
- Lucene建立索引 使用IKAnalyzer扩展词库
- 在oracel表中的一个datatime字段上建了索引,然后使用to_char函数进行检索,能否使用该索引?
- 一个使用高德地图SDK进行逆地理编码的例子
- 【Lucene4.8教程之一】使用Lucene4.8进行索引及搜索的基本操作
- 通过编码方式使用性能计数器来进行性能计数的一个简单例子 - ZT
- IKAnalyzer结合Lucene使用和单独使用例子 简单性能测试
- Qt使用一个事件队列对所有发出的事件进行维护(QObject的event()函数相当于dispatch函数),用EventLabel 继承QLabel作为例子(简单明了) good
- 【Lucene4.8教程之一】使用Lucene4.8进行索引及搜索的基本操作
- 一个辅助Lucene对数字类型进行索引和搜索的工具类
- 一个用 Oracle 函数索引进行优化的例子
- 【Lucene4.8教程之一】使用Lucene4.8进行索引及搜索的基本操作
- 使用Lucene进行全文检索(一)---处理索引
- 发一个使用 GridView 对数据小类进行分别汇总的例子
- 使用Lucene对预处理后的文档进行创建索引(可运行)
- 【Lucene4.8教程之一】使用Lucene4.8进行索引及搜索的基本操作
- IKAnalyzer结合Lucene使用和单独使用例子 简单性能测试
- 一个使用socket进行文件传输的例子
- SQL优化基础:使用索引(一个小例子)
- SQL优化基础 使用索引(一个小例子)