只需要在查询的同时传入排序字段,
对单个字段排序:
Sort sort=new Sort(new SortField("price", Type.DOUBLE,false));//false为降序排列
对多个字段排序:
Sort sort=new Sort(new SortField("date", Type.INT, true),new SortField("ename", Type.STRING, false));
代码如下:
/** * 多条件查询 * @param path 索引文件路径 * @param query 查询条件 * @param sort 排序 * @return */ public List<Document> complexSearch(String path,BooleanQuery query,Sort sort) { List<Document> docList = new ArrayList<>(); try { directory = FSDirectory.open(new File(path));//打开索引文件夹 IndexReader reader = DirectoryReader.open(directory);//读取目录 IndexSearcher search = new IndexSearcher(reader);//初始化查询组件 TopDocs td ; if(sort != null){ td = search.search(query, 10000,sort);//获取匹配上元素的一个docid }else{ td = search.search(query, 10000);//获取匹配上元素的一个docid } for (ScoreDoc doc : td.scoreDocs) { docList.add(search.doc(doc.doc)); } reader.close();//关闭资源 directory.close();//关闭连接 } catch (IOException e) { } return docList; }
注意几点
(1)排序对一个文档里什么域都没存储,使用字符串排序会排在首位
(2)排序对一个文档里什么域都没存储,使用数字类型排序会默认给其赋值为0进行排序
(3)我们可以对数字类型的null值的文档进行代码控制,可以将其设置为最大,所以将会排在最后面,代码如下
SortField sortField = new SortField("value", SortField.Type.INT);
sortField.setMissingValue(Integer.MAX_VALUE);
lucene也可以自定义排序,这里没有给子例子
相关推荐
《深入理解Lucene排序机制:从关键词频率到自定义优先级》 在信息检索领域,Lucene是一个广泛使用的全文搜索引擎库。它提供了强大的文本分析、索引和搜索功能,而排序作为搜索结果的重要组成部分,是Lucene的一个...
Lucene 排序、设置权重、优化、分布式搜索 Lucene 是一个高性能的搜索引擎库,它提供了强大的文本搜索和索引能力。下面我们将详细介绍 Lucene 的排序、设置权重、优化和分布式搜索等知识点。 一、Lucene 排序 ...
深入了解 Lucene 之三排序算法 Lucene 排序算法是搜索引擎中的核心组件之一,负责将搜索结果按照相关度排序以便用户快速找到所需信息。 Lucene 的排序算法主要基于 tf-idf 模型,以下是 Lucene 排序算法的详细介绍...
本资料主要探讨了Lucene中的排序、过滤和分页技术,这些都是构建高效、实用的信息检索系统的重要组成部分。 **排序(Sorting)** 排序是Lucene中的一项核心功能,允许我们根据文档的某个或多个字段来对搜索结果...
《Lucene4.X实战:构建类百度搜索的大型文档海量搜索系统——排序篇》 在搜索引擎的世界里,正确的排序机制是提升用户体验的关键因素之一。Apache Lucene,作为一款强大的全文检索库,提供了丰富的功能,包括对搜索...
因此,了解如何在 Lucene 中实现自定义排序是非常关键的。在这个话题中,我们将深入探讨如何根据特定的业务需求对搜索结果进行定制排序。 首先,我们要明白 Lucene 默认的排序机制。默认情况下,Lucene 搜索结果是...
向量空间模型是Lucene排序算法的基础,由Gerald Salton等人在30多年前提出。该模型假设文档和查询的相关性可以通过它们共有的词汇来衡量。经典的TF-IDF(词频-逆文档频率)公式用于计算词项权重。文档d和查询q的...
4. **文档评分**:Luck 显示每个匹配文档的评分,这是 Lucene 排序算法的结果,展示了文档与查询的相关性。 5. **元数据查看**:用户可以查看索引的元数据,如文档总数、字段列表、分段信息等,这些信息对于分析...
共13页07.Lucene搜索实战1 共4页08.Lucene搜索实战2 共5页09.Lucene搜索深入实战1 共5页10.Lucene搜索深入实战2 共11页11.Lucene搜索深入实战...页16.Lucene高级进阶2 共4页17.Lucene高级进阶3 共4页18.Lucene排序...
共13页07.Lucene搜索实战1 共4页08.Lucene搜索实战2 共5页09.Lucene搜索深入实战1 共5页10.Lucene搜索深入实战2 共11页11.Lucene搜索深入实战...页16.Lucene高级进阶2 共4页17.Lucene高级进阶3 共4页18.Lucene排序...
共13页07.Lucene搜索实战1 共4页08.Lucene搜索实战2 共5页09.Lucene搜索深入实战1 共5页10.Lucene搜索深入实战2 共11页11.Lucene搜索深入实战...页16.Lucene高级进阶2 共4页17.Lucene高级进阶3 共4页18.Lucene排序...
共13页07.Lucene搜索实战1 共4页08.Lucene搜索实战2 共5页09.Lucene搜索深入实战1 共5页10.Lucene搜索深入实战2 共11页11.Lucene搜索深入实战...页16.Lucene高级进阶2 共4页17.Lucene高级进阶3 共4页18.Lucene排序...
共13页07.Lucene搜索实战1 共4页08.Lucene搜索实战2 共5页09.Lucene搜索深入实战1 共5页10.Lucene搜索深入实战2 共11页11.Lucene搜索深入实战...页16.Lucene高级进阶2 共4页17.Lucene高级进阶3 共4页18.Lucene排序...
共13页07.Lucene搜索实战1 共4页08.Lucene搜索实战2 共5页09.Lucene搜索深入实战1 共5页10.Lucene搜索深入实战2 共11页11.Lucene搜索深入实战...页16.Lucene高级进阶2 共4页17.Lucene高级进阶3 共4页18.Lucene排序...
共13页07.Lucene搜索实战1 共4页08.Lucene搜索实战2 共5页09.Lucene搜索深入实战1 共5页10.Lucene搜索深入实战2 共11页11.Lucene搜索深入实战...页16.Lucene高级进阶2 共4页17.Lucene高级进阶3 共4页18.Lucene排序...
共13页07.Lucene搜索实战1 共4页08.Lucene搜索实战2 共5页09.Lucene搜索深入实战1 共5页10.Lucene搜索深入实战2 共11页11.Lucene搜索深入实战...页16.Lucene高级进阶2 共4页17.Lucene高级进阶3 共4页18.Lucene排序...
共13页07.Lucene搜索实战1 共4页08.Lucene搜索实战2 共5页09.Lucene搜索深入实战1 共5页10.Lucene搜索深入实战2 共11页11.Lucene搜索深入实战...页16.Lucene高级进阶2 共4页17.Lucene高级进阶3 共4页18.Lucene排序...
共13页07.Lucene搜索实战1 共4页08.Lucene搜索实战2 共5页09.Lucene搜索深入实战1 共5页10.Lucene搜索深入实战2 共11页11.Lucene搜索深入实战...页16.Lucene高级进阶2 共4页17.Lucene高级进阶3 共4页18.Lucene排序...