0

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

在 Lucene 4 中执行此操作的首选方法是什么?(通过对 IndexCache 的命中来获得准确的值是次优的)

(早期版本的 Lucene 有很多谷歌点击,但是随着索引系统的巨大改进,API 发生了很大变化。)

4

1 回答 1

1

您可以通过将 a 传递到对IndexSearcher.searchSort的调用来按字典顺序对字段值进行排序。

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

这将首先按给定字段的字典顺序排序,然后按相关性得分。在构建Sort.

于 2013-07-18T18:00:47.537 回答