基于索引字段进行提升

时间:2013-07-18 13:13:54

标签: java lucene

我有一些在索引中排序的字段(例如lexographical String s)。我想对更高的值给予更高的提升/分数。

在Lucene 4中执行此操作的首选方法是什么?(通过点击IndexCache获取确切的值是次优的)

(对于早期版本的Lucene,谷歌有很多点击率,但API已经发生了很大变化,并对索引系统进行了很大的改进。)

1 个答案:

答案 0 :(得分:1)

您可以通过将Sort传递到IndexSearcher.search的来电,按字典顺序对字段值进行排序。

SortField primarySort = new SortField("field", SortField.Type.STRING);
Sort sort = new Sort(primarySort, SortField.FIELD_SCORE);
searcher.search(query, hits, sort);

首先,将根据给定字段的词典排序,然后按相关性分数排序。您可以在构建Sort时添加任意数量的排序字段。