`
darktemplar_h
  • 浏览: 14140 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Lucene3 SortField的问题

阅读更多

整理一个之前工作中遇到的问题。

 

在查询lucene索引时,需要按记录的时间倒序排序。于是加了以下代码:

Sort sort = new Sort(new SortField("mtime", SortField.LONG, true));
TopDocs topDocs=indexSearcher.search(query, null, 100,sort);

  测试时发现排序没起作用。搞了半天也没找到原因。后将mtime换成了id,发现可以了。

感觉可能是没有对mtime进行索引的原因。再修改索引程序,将mtime索引,如下:

new Field("mtime", String.valueOf(rs.getDate("MTIME").getTime()), Store.YES, Index.NOT_ANALYZED)
 新的索引可以按mtime排序了。

 

分享到:
评论

相关推荐

    Lucene5学习之排序-Sort

    3. **自定义排序**:除了相关性,我们还可以根据文档的其他字段(如日期、价格等)进行排序。这需要定义`FieldComparatorSource`和`FieldComparator`,以实现自定义比较逻辑。 4. **SortField类型**:`SortField`...

    Lucene5学习之自定义排序

    在IT领域,搜索引擎技术是不可或缺的一部分,而Apache Lucene是一个高性能、全文本搜索库,广泛应用于各种搜索引擎的开发。本文将深入探讨“Lucene5学习之自定义排序”这一主题,帮助你理解如何在Lucene5中实现...

    lucene排序、设置权重、优化、分布式搜索.pdf

    Sort sort = new Sort(new SortField("name", SortField.STRING)); TopDocs topDocs = searcher.Search(query, sort); ``` 在上面的代码中,我们使用 Sort 对象来指定根据 "name" 字段进行升序排序。 二、Lucene ...

    lucene排序.zip

    Lucene允许用户通过`SortField`类的`CUSTOM`参数创建自定义排序规则。在这个过程中,我们需要提供一个`Comparator`,用于比较两个文档的排序值。例如,如果我们有一个`List<Map>`字段,其中每个Map表示一个属性,...

    lucene 权重设置

    3. **排序(Sort)**:Lucene默认按照文档的得分进行排序,但也可以使用`Sort`工具自定义排序规则。例如,你可以设置`SortField`来指定一个或多个字段进行排序,如`SortField(int, SortField.Type, boolean ...

    Lucene简单应用

    - 探讨Lucene中排序的相关概念和技术,如ScoreDoc、Sort、SortField等。 - 了解如何根据不同的字段对搜索结果进行排序,以及如何实现自定义排序逻辑。 #### 八、过滤 - 过滤器(Filter)允许开发者在查询结果中...

    Lucene4.X实战类baidu搜索的大型文档海量搜索系统-18.Lucene排序 共6页.pptx

    《Lucene4.X实战:构建类百度搜索的大型文档海量搜索系统——排序篇》 在搜索引擎的世界里,正确的排序机制是提升用户体验的关键因素之一。Apache Lucene,作为一款强大的全文检索库,提供了丰富的功能,包括对搜索...

    lucene高级搜索进阶项目_02

    此外,还可以通过SortField自定义排序规则,比如按照日期、地理位置或其他元数据进行排序。 四、多字段搜索 在一个文档中,数据通常分散在多个字段中。Lucene支持在多个字段上同时进行搜索,这被称为多字段查询。...

    【分享:lucene学习资料】---<下载不扣分,回帖加1分,欢迎下载,童叟无欺>

    2. lucene 的包结构 3 3. 索引文件格式 3 4. lucene中主要的类 4 4.1. Document文档类 4 4.1.1. 常用方法 4 4.1.2. 示例 4 4.2. Field字段类 4 4.2.1. 构造方法 4 4.2.2. Store类 5 4.2.3. Index类 5 4.2.4. 示例 5 ...

    几个搜索相关的pdf(lucene, 分词等)

    此外,之前版本中的缓存到缓存拷贝问题已被修复,文档中同步机制的去除以及复合文件性能问题的改善,均在提升Lucene性能方面扮演了重要角色。 综上所述,Lucene 2.3.2版本通过一系列的变更和优化,大幅提升了索引...

    Luncene学习资料

    【Lucene 排序】在Lucene中,排序是通过实现`Sort`类或使用`SortField`对象来完成的。排序不仅可以基于文档的分数(即查询的相关性),还可以基于文档的字段值。例如,你可以根据文档的创建日期、作者名或其他自定义...

    使用Java的Lucene搜索工具对检索结果进行分组和分页

    indexHelper.createIndexForGroup(3, "Author2", "Content3"); // 进行分组搜索 IndexSearcher searcher = indexHelper.getIndexSearcher(); GroupingSearch groupingSearch = new GroupingSearch("author"); ...

    获取全部Luence数据

    Sort sort = new Sort(new SortField("CreateDatetime", SortField.STRING)); // 执行搜索 TopDocs hits = searcher.Search(query, new QueryWrapperFilter(query), null); ``` 这里的关键在于使用 `...

    elasticsearch应用开发

    这里指定了Elasticsearch和Lucene的核心版本,确保两者版本匹配可以避免运行时出现的兼容性问题。 #### 三、Elasticsearch核心功能及使用示例 ##### 建立客户端 在进行任何操作前,需要先建立与Elasticsearch的...

    Solr-search过程源码分析

    涉及创建`SortField`数组,并遍历所有`SortField`,对结果集中的文档进行比较和排序。 - **响应构建**:将排序后的结果添加到响应对象中,形成最终的搜索结果。 在整个过程中,Solr的源码展现了其高度模块化的设计...

Global site tag (gtag.js) - Google Analytics