- 浏览: 316171 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (286)
- 设计模式 (14)
- spring (5)
- 开发工具 (12)
- java (19)
- apache.commons工具 (7)
- ibaits (5)
- extjs4.0 (4)
- 数据库 (2)
- spring工具类 (2)
- jquery1.8 (32)
- 杂记 (1)
- linux (2)
- Quart (1)
- springMVC (2)
- webservice (1)
- oracle (5)
- dwr (6)
- jbmp3 (27)
- lucene3.5 (27)
- javascript (18)
- hibernate3.3.2 (27)
- spring事务管理 (10)
- nio (2)
- strust2 (3)
- jvm (7)
- jquery-easyui-1.2.6 (22)
- 多线程 (14)
- maven (3)
- 常用正则表达式 (4)
最新评论
-
HF_SKY000:
请问:
一、能否提供一下密钥库文件的生成方法?
二、密钥库的密 ...
Java sslSocket 聊天实例
分页查询有两种实现方式:
1、再查询
public void searchPage(String query, int pageIndex, int pageSize) {
try {
Directory dir = FileIndexUtils.getDirectory();
IndexSearcher searcher = getSearcher(dir);
QueryParser parser = new QueryParser(Version.LUCENE_35, "content",new StandardAnalyzer(Version.LUCENE_35));
Query q = parser.parse(query);
TopDocs tds = searcher.search(q, 500);
ScoreDoc[] sds = tds.scoreDocs;
int start = (pageIndex - 1) * pageSize;
int end = pageIndex * pageSize;
for (int i = start; i < end; i++) {
Document doc = searcher.doc(sds[i].doc);
System.out.println(sds[i].doc + ":" + doc.get("path") + "-->" + doc.get("filename"));
}
searcher.close();
} catch (org.apache.lucene.queryParser.ParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
2、searchAfter(3.5之后才出现的)
/**
* 根据页码和分页大小获取上一次的最后一个ScoreDoc
*/
private ScoreDoc getLastScoreDoc(int pageIndex, int pageSize, Query query,
IndexSearcher searcher) throws IOException {
if (pageIndex == 1)
return null;//如果是第一页就返回空
int num = pageSize * (pageIndex - 1);//获取上一页的数量
TopDocs tds = searcher.search(query, num);
return tds.scoreDocs[num - 1];
}
public void searchPageByAfter(String query, int pageIndex, int pageSize) {
try {
Directory dir = FileIndexUtils.getDirectory();
IndexSearcher searcher = getSearcher(dir);
QueryParser parser = new QueryParser(Version.LUCENE_35, "content",new StandardAnalyzer(Version.LUCENE_35));
Query q = parser.parse(query);
//先获取上一页的最后一个元素
ScoreDoc lastSd = getLastScoreDoc(pageIndex, pageSize, q, searcher);
//通过最后一个元素搜索下页的pageSize个元素
TopDocs tds = searcher.searchAfter
(lastSd, q, pageSize);
for (ScoreDoc sd : tds.scoreDocs) {
Document doc = searcher.doc(sd.doc);
System.out.println(sd.doc + ":" + doc.get("path") + "-->" + doc.get("filename"));
}
searcher.close();
} catch (org.apache.lucene.queryParser.ParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
发表评论
-
二十七、Luence在项目中运用
2012-12-26 15:03 1099public class LuceneContext { ... -
二十六、solr的基本使用
2012-12-26 10:26 963public class Message { p ... -
二十五、solr与tomcat的整合
2012-12-25 13:52 10541、solr是全文搜索服务器,专门用户管理索引的。 2 ... -
二十四、通过NRTManager和SearchManager实现近实时搜索
2012-12-21 11:35 1350是否进行实时搜索 实时搜索(近实时搜索) ... -
二十三、高亮显示
2012-12-20 09:24 1011public void lighter01() { ... -
二十二、Tika
2012-12-20 09:24 967Tika是2008年才产生的一个apache的项目,主要用于打 ... -
二十一、Luke
2012-12-20 09:24 814luke是一个查询索引的工具,使用时必须注意:版本要与luce ... -
二十、自定义过滤器
2012-12-20 09:23 875有的应用有些要求,对于某类型的内容即使满足条件了,但是也不 ... -
十七、搜索过滤
2012-12-20 09:23 638public void searcherByFilter(St ... -
十九、自定义QueryParser
2012-12-19 16:28 1225原因: 1、对于某些Quer ... -
十八、自定义评分
2012-12-19 16:18 792public class MyCustomScoreProvi ... -
十六、搜索排序
2012-12-19 12:14 1032public void searcherBySort(Stri ... -
十五、实现简单同义词分词器
2012-12-19 11:41 1260public interface SamewordContex ... -
十四、中文分词器
2012-11-28 13:49 865中文分词器 : Paoding:庖丁解牛分词器。 ... -
十三、自定义Stop分词器
2012-11-28 13:42 764import java.io.Reader; impor ... -
十二、Attribute
2012-11-28 13:20 827Attribute : ... -
十一、分词器的核心类
2012-11-28 13:12 907Analyzer : SimpleAnalyz ... -
九、Queryparser
2012-11-27 17:24 1003Mike 默认域包含mike Mi ... -
八、其他搜索Query
2012-11-27 10:30 666TermRangeQuery : 字母范围搜索 ... -
七、搜索的简单实现(TermQuery)
2012-11-26 17:12 1004TermQuery只能精确匹配字符串(包括分词后的字符串,不 ...
相关推荐
这样搜索引擎能正确索引各页内容,用户也能直接访问特定页。 八、分页库与插件 8. 在实际开发中,可以利用现有的分页库或插件,如jQuery Pagination、Bootstrap Pagination等,它们提供了丰富的样式和配置选项,...
"10经典常用的js分页代码(开发必备)"这个资源集合了十个在实际开发中广泛使用的JavaScript分页实现方案。 1. **基础概念**:分页通常涉及到数据的动态加载,通过将大量数据分成若干页,每次只显示一部分,用户可以...
如果你的数据量有几十万条,用户又搜索一些很通俗的词,然后要依次读最后几页重温旧梦。mysql该很悲壮的不停操作硬盘。 所以,可以试着让mysql也存储分页,当然要程序配合。(这里只是提出一个设想,欢迎大家一起...
那么将近三十款wordpress主题加在一起,页面就非常的长。所以必须要找个方法把长文章进行分页。 在谷歌上搜索了一下,发现有个代码解决的方法非常好。经过亲自使用,确实有效,所以在这里分享出来。 一、添加分页...
通过ViewPager嵌套DirectionalViewPager,实现十字滑动。这种方式在网上应用不多,不容易搜索到。简单说,就是在水平滑动的Tab中,在中间的Tab里加入了垂直滑动的Tab。大家根据个人需求下载。
通过利用Word的查找和替换功能,用户可以有效地针对这个模式进行搜索,并在找到的每个实例后插入分页符。 具体步骤如下: 1. 首先,打开Word文档,然后执行“编辑”菜单中的“替换”命令,这将打开“查找和替换”...
具体来说,jquery datatables通过其丰富的API,能够轻松地将数据从后端MVC控制器传输到前端视图,并且支持动态数据分页、搜索、排序等操作。 知识点二:jquery datatables插件 jquery datatables是一款基于jquery的...
MySQL分页查询是数据库操作中常见的一种需求,尤其是在处理大量数据时,分页能够...对于特别大的数据集,可以考虑使用第三方搜索引擎如Sphinx或Lucene来减轻MySQL的负担,它们在处理大规模数据的分页查询方面更为高效。
- 对于需要SEO的页面,谨慎使用伪分页,因为搜索引擎对JavaScript生成的内容可能支持不完全。 伪分页技术通过JavaScript实现数据的分页显示,提供了快速、流畅的用户体验,尽管它也有局限性,但在适用的场景下是一...
比如,在一个在线书店里搜索关于ASP.NET 的书的时候,可能结果会是成百上千,而每页只列出十条。而且结果可以根据title(书名),price(价格),page count(页数),author name(作者)等来排序。我们在分页和...
9. **优化加载和分页**:为了提高用户体验,搜索结果应分页显示,避免一次性加载大量内容导致页面加载速度变慢。合理的分页策略可以让用户感觉过程更流畅。 10. **反馈与提示**:在搜索过程中,给予用户明确的反馈...
分页技术允许用户通过翻页查看数据集中的不同部分,常见于搜索引擎的搜索结果和电子商务平台的商品列表。分页功能的核心在于确定数据的总条数、每页显示的条目数以及当前页面位置,然后计算出总页数以及当前页需要...
过滤允许用户根据特定条件筛选数据,例如按关键词搜索、按日期范围筛选等。在JavaScript中实现数据过滤通常包括以下步骤: 1. **定义过滤条件**:创建一个函数,用于定义过滤规则,如检查数据是否包含指定关键词,...
手风琴分页(也称为钟形曲线分页)可在可能有数十或数百个结果页面的分页页面上提供更快的用户导航和更好的搜索引擎发现。 使用此功能最多可以为您提供13个链接,这些链接始终固定在第一页和最后一页,当前页面两边...
7. **发布与更新**:完成开发后,开发者需要在微信开发者工具中进行预览、调试和上传代码到微信小程序后台,经过审核后,用户就能在微信中搜索并使用这个小程序了。同时,微信提供了版本管理功能,方便开发者发布新...
二十七、分享ec搜索出现相关商品的效果滑动效果(模仿百度) 88 二十八、修改注册发送邮件(更新) 94 二十九、新增加一调用编辑器函数 97 三十、简单实现 各个页面都可显示友情链接 97 三十一、Ecshop系统框架分析 ...
二十七、分享ec搜索出现相关商品的效果滑动效果(模仿百度) 88 二十八、修改注册发送邮件(更新) 94 二十九、新增加一调用编辑器函数 97 三十、简单实现 各个页面都可显示友情链接 97 三十一、Ecshop系统框架分析 ...