Lucene_demo04_分页
/**
* 分页
*/
public class DispageTest {
// 分页类
private void testSearchIndex(int firstResult, int maxResult) throws Exception {
IndexSearcher indexSearcher = new IndexSearcher(LuceneUtils.directory);
QueryParser queryParser = new MultiFieldQueryParser(Version.LUCENE_30, new String[] { "title", "content" }, LuceneUtils.analyzer);
Query query = queryParser.parse("2013");
TopDocs topDocs = indexSearcher.search(query, 50);// 查询50条结果
int count = topDocs.totalHits;// 总的记录数
int scoreCount = Math.min(count, firstResult + maxResult);// 截止条数
ScoreDoc[] scoreDocs = topDocs.scoreDocs;
// 将搜索出的doc转换为model保存在List中
List<Article> articleList = new ArrayList<Article>();
for (int i = firstResult; i < scoreCount; i++) {
int index = scoreDocs[i].doc;
Document document = indexSearcher.doc(index);
Article article = DocumentUtils.document2Article(document);
articleList.add(article);
}
// 输出查询结果
for (Article article : articleList) {
System.out.println(article.getId());
System.out.println(article.getTitle());
System.out.println(article.getContent());
}
}
@Test
public void dispage() throws Exception {
this.testSearchIndex(20, 10);// 从查询出来的索引值中,从第20条开始取后面的10条数据
}
}
分享到:
相关推荐
**Lucene 概述** Lucene 是一个高性能、全文本搜索库...实际的 "luceneDemo" 可能包含更丰富的功能,例如支持多字段查询、高亮显示搜索结果、分页显示等。学习和理解 Lucene,可以帮助开发者构建强大的全文检索系统。
**Lucene.net 知识点详解** Lucene.net 是 Apache Lucene 的 .NET 版本,...以上就是关于 Lucene.net 建立索引、检索及分页的关键知识点。理解并熟练运用这些概念,可以帮助开发者构建高效、灵活的全文搜索解决方案。
Solr是Apache Lucene项目的一个子项目,是一个高性能、基于Java的全文检索服务器。它提供了分布式搜索、近实时索引、高可用性以及多种数据处理功能。本DEMO主要聚焦于Solr的配置和SolrJ的使用,帮助开发者更好地理解...
《Lucene 4.4 实战教程:从基础到进阶》 Lucene是一个高性能、全文本搜索引擎库,由Apache软件基金会开发。...这个Demo案例旨在引导你入门,希望你在学习Lucene的旅程中找到乐趣,不断提高你的搜索引擎开发能力。
总结了一些实用的demo 包括: 1.建立索引 2.通过IKAnalyzer搜索中文关键词 3.复杂的多字段搜索 4.多线程并发搜索,通过contiperf测试,详见:contiperf_百度百科 5.分页搜索 注意:lucene4.10.0需要jdk1.7以上...
Elasticsearch基于Apache Lucene构建,提供分布式、实时的搜索和分析引擎。它不仅用于全文检索,还能处理结构化和非结构化的数据,广泛应用于日志分析、监控、信息检索等领域。 2. **项目结构解析** - `elastic...
在这个“lucene5.5demo”项目中,开发者利用Lucene 5.5版本,结合Spring MVC框架和MySQL数据库,构建了一个功能完备的文本搜索系统,涵盖了索引的创建、更新、删除和查询等基本操作,并实现了高亮显示、分页以及...
3. **结果集处理**:在Lucene.Net.DemoLib.dll中,你可以看到如何获取搜索结果,如何进行相关性评分,以及如何对结果进行排序和分页。 4. **高亮显示**:示例库还涵盖了如何使用高亮器(Highlighter)突出显示查询...
提供的`lucene_demo`压缩包可能包含了一些示例代码,学习者可以通过阅读和运行这些代码,了解Lucene的基本API用法,如创建索引、执行查询、处理搜索结果等。 总结来说,这份“lucene搜索引擎培训资料”涵盖了Lucene...
在“lucene_demo”文件中,我们可以预期看到如何创建和管理索引、执行查询以及处理搜索结果的具体代码示例。这将帮助我们更好地理解和运用 Lucene 在实际项目中的功能。通过阅读和学习这些示例,开发者可以快速上手 ...
**标题:“Lucene实现全文检索”** 在信息技术领域,全文检索是一种从大量文本数据中查找相关信息的关键技术。...在阅读《LuceneDemo》这个压缩包文件中的示例代码时,可以更直观地了解这些概念如何在实践中落地。
public class LuceneDemo1 { public static void main(String[] args) throws Exception { // 创建内存目录,用于存储索引 Directory directory = new RAMDirectory(); // 使用StandardAnalyzer进行分词 ...
在这个"elasticsearch demo"中,我们将深入探讨Elasticsearch的核心功能,包括基本的创建、读取、更新、删除(CRUD)操作,以及高级特性如分页、排序和聚合查询。 ### 1. CRUD 操作 Elasticsearch 支持对数据的...
`WebDemo\UserControl\AspDotNetPager\AspNetPager.cs`是一个ASP.NET自定义控件,用于实现分页功能,这对于显示大量数据的网页非常有用。`WebDemo\App_Code\Index.cs`可能包含了处理文本索引的代码。 综合这些文件...
**Elasticsearch(ES)** 是一个开源的全文搜索引擎,基于Lucene构建,设计用于分布式、可扩展的数据存储和搜索。在这个"Elasticsearch Demo"项目中,我们将学习如何将Word文档的内容读取并写入Elasticsearch,以及...
它是一个基于Lucene的分布式、RESTful风格的搜索和数据分析引擎,能够提供实时、高可扩展性的全文检索服务。本节将详细讲解如何利用Elasticsearch的`scroll` API进行分页查询,并结合Java进行实践操作。 ### 一、...
在“query-demo”中,我们可能会看到如何优雅地处理查询结果,包括分页和排序。 **6. 性能和优化** 由于Infinispan是内存数据网格,查询性能通常非常高。然而,为了进一步提升性能,我们可能需要考虑如下优化策略...
DEMO使用技术点:Maven+ SpringBoot + JDK 1.8.0_151 + ElasticSearch-2.3.3 + ElasticSearch-analysis-ik-1.9.3 + typeahead.js输入框输入信息后,自动提示补全控件 + jqPaginator.js分页控件+ Thymeleaf 页面模板...
Solr是Apache Lucene项目的一个子项目,是一个高性能、基于Java的企业级搜索服务器。它提供了全文检索、Hit高亮、拼写检查、动态集群、分布式搜索等特性,广泛应用于各类数据检索场景。在本篇文章中,我们将深入探讨...
3. **Paging and Faceting**: 改进了分页和分面搜索的性能,使得在大量数据集上的操作更为高效。 4. **Trie Data Types**: 提供了 TrieDateField 和 TrieFloatField 等数据类型,提高了日期和浮点数字段的搜索性能...