List<Object> list=new ArrayList<Object>();
// 定义每次显示的搜索结果数目
final int HITS_PER_PAGE = 10;
int count = h.length();
for (int start = 0; start < h.length(); start += HITS_PER_PAGE){
int end = Math.min(h.length(), start + HITS_PER_PAGE);
for (int i = start; i < end; i++){
//打印出文件里面ArticleTitle域里面的内容
String title = h.doc(i).get(ArticleTitle);
// 打印出文件里面ArticleText域里面的内容
String text = h.doc(i).get(ArticleText);
//搜索结果高亮显示
SimpleHTMLFormatter format = new SimpleHTMLFormatter("<b><font color='red'>","</font></b>");
Highlighter light = new Highlighter(format, new QueryScorer(multiQuery));//高亮
light.setTextFragmenter(new SimpleFragmenter(200));
// 为了在页面好遍历,把它放入集合中
if(title!=null||text!=null){
TokenStream stream=analyzer.tokenStream(ArticleTitle, new StringReader(title));
highTitle=light.getBestFragment(stream, title);
TokenStream streamText=analyzer.tokenStream(ArticleText, new StringReader(text));
highText=light.getBestFragment(streamText, text);
LuceneBean bean = new LuceneBean();
bean.setNum(i+1);
bean.setTitle(null!=highTitle?highTitle:title);
bean.setText(null!=highText?highText:text);
bean.setTime(h.doc(i).get(ArticleTime));
list.add(bean);
}
}
break;
}
/* 关闭 */
searcher.close();
分享到:
相关推荐
【Lucene学习笔记】 Lucene是一个高性能、全文检索的开源库,完全用Java编写,能够帮助开发者在应用程序中实现复杂的搜索引擎功能。它提供了强大的索引和搜索机制,使得从大量文本数据中快速找到相关信息变得简单。...
### Lucene 3.5 学习笔记 #### 一、Lucene 3.5 基本概念 ##### 1.1 Lucene 概述 **1.1.1 IndexWriter** `IndexWriter` 是 Lucene 中的核心类之一,用于创建或更新索引。它提供了添加文档、删除文档、优化索引等...
**Lucene学习笔记** Lucene是一个高性能、全文检索库,由Apache软件基金会开发并维护,是Java编程语言中广泛使用的搜索引擎库。它提供了一个简单但功能强大的API,用于索引和搜索文本数据,使得开发者可以轻松地在...
10. **lucene学习笔记 3 .txt** 这是作者的学习笔记,可能包含了个人理解和使用Lucene过程中遇到的问题及解决方案,提供了不同角度的见解和实践经验。 通过这些文档,你可以系统地学习和掌握Lucene的各个方面,从...
【Solr学习笔记】 Solr,全称为Apache Solr,是一个开源的企业级全文搜索引擎,具有高性能、可扩展性以及易用性等特点。本篇笔记将深入探讨Solr的核心概念、查询参数及其用法,帮助读者掌握如何有效地使用Solr进行...
│ 淘淘商城第一天笔记.docx │ ├─02.第二天 │ 07.商品类目选择完成.avi │ 01.课程计划.avi │ 02.展示首页.avi │ 03.分页插件01.avi │ 04.分页插件的使用方法.avi │ 05.商品列表展示.avi │ 06.商品类目...
系统设计 1 jive设计思路 2 jive的工作内幕 3 Jive源代码研究 4 Jive中的设计模式 5 jive学习笔记 <br> 设计模式 1 大道至简-Java之23种模式一点就通 2 设计模式...
系统设计 1 jive设计思路 2 jive的工作内幕 3 Jive源代码研究 4 Jive中的设计模式 5 jive学习笔记 <br> <br> 数据库设计 1 Jive Forums数据库说明(英文) 2 Jive KB...
doc.addField("title", "Solr学习笔记"); client.add(doc); client.commit(); ``` 对于查询操作,你可以使用`SolrQuery`类来构造查询条件,然后调用`query()`方法执行查询: ```java SolrQuery query = new ...