hibernate搜索是否有可能在数据库中有搜索结果后根据最佳匹配对结果进行排序
答案 0 :(得分:3)
Lucene具有排序功能(默认为相关性)。
Hibernate搜索公开此功能(FullTextQuery.sort)。如果您不想要默认行为,则可以传递自己的排序对象。
Sort sort = new Sort(new SortField("name"));
searchQuery.setSort(sort);
List results = searchQuery.list();
在您的情况下,默认排序应该足够了。
答案 1 :(得分:2)
默认情况下,Hibernate Search会根据默认Lucene评分实施确定的结果的相关性(如doc_180所述)对结果进行排序。
但是,如果您对排名的方式不满意(例如,您可能希望人员实体的排名通常高于您拥有的所有其他索引实体)那么您可以做两件事之一: