对查询内容分页,那是必须的。当然最好是能够对所查询的关键字进行高亮显示。
对于高亮有直接的api,但是对于分页。虽然没有直接的方法,但也有类似于hibernate分页的方法,但我们可以用
IndexSearcher提供的doc方法,直接通过数组下标来获取该组对象集合。
此例在myeclipse8.5++tomcat6+jdk1.6+lucene3.0.2+struts2.2.1+freemarker-2.3.16下测试通过
效果图:
做的很简单,只是为了展现高亮+分页的效果
这个分页效果是我第一篇博客的仿QQ的效果。嘿嘿。推销一下。
http://hellotommy.iteye.com/blog/785242
一:高亮部分代码
SimpleHTMLFormatter simpleHtmlFormatter = new SimpleHTMLFormatter("<b><font color='red'>","</font></b>"); //高亮样式,粗体+red
Highlighter highlighter = new Highlighter(simpleHtmlFormatter,new QueryScorer(query)); //对查询出来的query进行高亮设置
highlighter.setTextFragmenter(new SimpleFragmenter(100)); //关键字两旁字数
TokenStream tokenStream1 = analyzer.tokenStream("newsTitle",new StringReader(resultDoc.get("newsTitle"))); //TokenStream用来分析文字流
TokenStream tokenStream2 = analyzer.tokenStream("newsContent",new StringReader(resultDoc.get("newsContent")));
String bestFragment1 = highlighter.getBestFragment(tokenStream1, resultDoc.get("newsTitle")); //匹配样式
String bestFragment2 = highlighter.getBestFragment(tokenStream2, resultDoc.get("newsContent"));
二:分页部分
List<News> newsList=new ArrayList<News>();
for (int i = firstResult; i < firstResult+maxResult ; i++){ //按照分页的序号遍历。
News news=new News();
Document resultDoc = isearcher.doc(docs[i].doc);
news.setNewsId(resultDoc.get("newsId"));
.....newsList.add(news); //讲对象加入集合中
}
大致就是以上这样子。
分页采用lucene官方推荐的,每次都对索引进行检索,虽然效率并不高,但操作相对简单很多。就跟普通分页
一样。
- 大小: 44.8 KB
- 大小: 51.4 KB
分享到:
相关推荐
SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎--NewsWithSearch.part3 SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎--NewsWithSearch.part2 SSH + Lucene + 分页 + 排序 + 高亮 ...
SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎--NewsWithSearch.part3 SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎--NewsWithSearch.part2 SSH + Lucene + 分页 + 排序 + 高亮 ...
SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎--NewsWithSearch.part3 SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎--NewsWithSearch.part2 SSH + Lucene + 分页 + 排序 + 高亮 ...
SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎--NewsWithSearch.part3 SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎--NewsWithSearch.part2 SSH + Lucene + 分页 + 排序 + 高亮 ...
SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎--NewsWithSearch.part3 SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎--NewsWithSearch.part2 SSH + Lucene + 分页 + 排序 + 高亮 ...
SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎--NewsWithSearch.part3 SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎--NewsWithSearch.part2 SSH + Lucene + 分页 + 排序 + 高亮 ...
SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎
java(结合lucene)版的公交搜索系统(javaWeb+lucene+jsp+tomcat+eclipse/idea) java(结合lucene)版的公交搜索系统(javaWeb+lucene+jsp+tomcat+eclipse/idea) java(结合lucene)版的公交搜索系统(javaWeb+lucene+...
Maven项目构建: SpringMVC + Mybatis + SpringSecurity(权限控制到方法按钮) + Rest(服务) + Webservice(服务) + Quartz(定时调度)+ Lucene(搜索引擎) + HTML5 bootstrap 源码详细地址:...
基于SpringBoot编写的一个Lucene测试Demo把匹配到的结果高亮摘要显示在前端jsp上
lucene jar 2.4.0使用jar包加高亮包.外加commons-logging-1.0.4包
java全文搜索lucene-3.0.0-src+lib.zip
对于抓取的数据,进行去重,去标签,然后利用lucene 和 solr 进行索引和搜索。 课程的最大特点是内容新颖全面而又通俗易懂。对于实际搜索引擎所涉及的各种核心技术都有全面细致的介绍,除了作为搜索系统核心的网络...
lucene+jdbcTemplate封装API+缓存实现索引精确刷新
Lucene+Nutch本书源码+详细说明,研究搜索引擎具体抓取与解析等技术问题,有利于搜索引擎开发新手的熟悉与了解,难得的电子版,值得珍藏
lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习...
NULL 博文链接:https://huyana-town.iteye.com/blog/2197476
Lucene+compass学习资料+ajax
01.Lucene4入门精通实战课程-概述 共23页 02.Lucene系统架构 共16页 03.Lucene索引里有什么 共17页 04.Lucene索引深入 共24页 05.Lucene索引深入优化 共10页 06.Lucene索引搜索 共13页 07.Lucene搜索实战1 共4页 08....