public LuceneDomain searchIndex(String searchStr) throws Exception{
File indexDir = new File(PropertiesUtil.getPropertyValue(searchDirKEY));
String[] fields=new String[]{"id","source","title","context","url"};
//索引目录
Directory dir=FSDirectory.open(indexDir);
//根据索引目录创建读索引对象
IndexReader reader = IndexReader.open(dir);
//搜索对象创建
IndexSearcher searcher = new IndexSearcher(reader);
//IKAnalyzer中文分词
Analyzer analyzer = new IKAnalyzer();
//创建查询解析对象
//QueryParser parser = new QueryParser(Version.LUCENE_36,"context", analyzer);
QueryParser parser = new MultiFieldQueryParser(Version.LUCENE_36,fields, analyzer);
parser.setDefaultOperator(QueryParser.AND_OPERATOR);
//根据域和目标搜索文本创建查询器
//Query query = parser.parse(searchStr);
Query query =IKQueryParser.parseMultiField(fields, searchStr);
System.out.println("Searching for: " + query.toString("context"));
//对结果进行相似度打分排序
TopScoreDocCollector collector = TopScoreDocCollector.create(maxBufferedDocs,false);
searcher.search(query, collector);
//获取结果
ScoreDoc[] hits = collector.topDocs().scoreDocs;
int numTotalHits = collector.getTotalHits();
LuceneDomain lucene=new LuceneDomain();
lucene.setTotalNum(numTotalHits);
lucene.setSearchText(searchStr);
List<SearchDomain> searchList=new ArrayList<SearchDomain>();
//显示搜索结果
SearchDomain search=null;
for (int i = 0; i < hits.length; i++) {
search=new SearchDomain();
Document doc = searcher.doc(hits[i].doc);
// String url = doc.get("url");
详细解决方案
Lucene组合IKAnalyzer内存溢出
热度:3576 发布时间:2013-02-25 21:40:20.0
相关解决方案
- lucene:怎么实现数据实时同步
- lucene 报错,该怎么解决
- lucene 里面如何样查询一个term是几个指定的值的内容? 就是说比如是要查询 ID 是 1,2,3,4,5 这5个数字都可以,这样的查询如何写
- lucene 中的TermRangeQuery,该如何解决
- Lucene 3.4 索引速度为什么没有2.3快,该如何处理
- Lucene 搜索出正文后,想依照google的结果,截取一段正文,显示搜索列表下解决方法
- lucene 能不能满足这样的需求?该怎么解决
- lucene.net并发修改索引有关问题(多用户同时操作索引)
- Lucene.net 的使用方法解决办法
- Lucene.Net 搜索时候 怎么拆词,分词啊已经建立好索引了
- Lucene 增量目录
- Lucene.net建立目录时出错:访问被拒绝
- Lucene 有关问题。
- lucene.net的搜索有关问题,多谢指点
- Lucene.net 多个词查询,该怎么解决
- Lucene.net如何用
- lucene.net分词搜索有关问题求解
- lucene .net ,怎么使用,如何结合数据库的一个表显示数据,能给个数据库表和lucenne的简单例子么
- lucene.net 分词搜索有关问题
- lucene.net 为什么要分词?解决方法
- Lucene.net全文检索,解决办法
- lucene 做什么用的?解决方案
- @@-引用的程序集“Lucene.Net”没有强名称-这个如何解决
- Lucene.Net 初级有关问题求教
- 根据关键字 使用 lucene 搜索本站下的文件, 和是使用GOOGLE提供的本站搜索工具,效果是一样的吧。都是可以本站下的文件。解决办法
- Lucene.net搜完索的怪有关问题
- Lucene IKAnalyzer 准确搜索,该怎么处理
- Lucene 大数据量处理解决方案
- 请教 lucene 如何下载呢?
- spring lucene rmi事例