使用Hibernate搜索来评估结果

hibernate搜索是否有可能在数据库中包含搜索结果后根据最佳匹配对结果进行排序     
已邀请:
Lucene具有排序功能(默认为相关性)。 Hibernate搜索公开了这个功能(FullTextQuery.sort)。如果您不想要默认行为,则可以传递自己的排序对象。
Sort sort = new Sort(new SortField("name"));
searchQuery.setSort(sort);
List results = searchQuery.list();
在您的情况下,默认排序应该足够了。     
默认情况下,Hibernate Search会根据默认Lucene评分实现确定的结果的相关性(如doc_180所述)对结果进行排序。 但是,如果您对排名的方式不满意(例如,您可能希望人员实体的排名通常高于您拥有的所有其他索引实体),那么您可以执行以下两项操作之一: 将动态或静态增强因子应用于应被视为更相关的实体(请参阅@Boost和@DynamicBoost注释上的文档),或者 您可以通过扩展org.apache.lucene.search.Similarity编写自己的自定义评分实现(请参阅Hibernate搜索高级功能)。第1点中提到的提升因子只是这个总体评分算法中的一个因素。     

要回复问题请先登录注册