当前位置:  开发笔记 > 编程语言 > 正文

如何使用HitCollector按字段值对Lucene结果进行排序?

如何解决《如何使用HitCollector按字段值对Lucene结果进行排序?》经验,为你挑选了1个好方法。

我正在使用以下代码在Lucene.Net中执行查询

var collector = new GroupingHitCollector(searcher.GetIndexReader());
searcher.Search(myQuery, collector);
resultsCount = collector.Hits.Count;

如何根据字段对这些搜索结果进行排序?


更新

谢谢你的回答.我曾尝试过使用TopFieldDocCollector但是"value is too small or too large"当我5000作为numHits参数值传递时,我得到了一个错误说法.请建议通过有效值.



1> James Brady..:

search.Searcher.search方法将接受一个search.Sort参数,该参数可以简单地构造为:

new Sort("my_sort_field")

但是,对哪些字段可以进行排序存在一些限制 - 它们需要被索引但不能被标记化,并且值可以转换为Strings,Floats或Integers.

Lucene in Action涵盖了所有细节,以及按多个字段排序等.


一个关键点:要排序的字段必须编入索引.
...而不是标记化 - 打败我:)
推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有