使用 Hibernate Search 对结果进行评分
hibernate搜索从数据库中获得搜索结果后是否可以根据最佳匹配对结果进行排序
Is it possible for hibernate search to sort result according to best match after it has search result from the database
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Lucene 有排序功能(默认为相关性)。
Hibernate 搜索公开了此功能(FullTextQuery.sort)。如果您不想要默认行为,您可以传递您自己的排序对象。
在你的情况下,默认排序应该足够了。
Lucene has a sort functionality (which defaults to relevance).
Hibernate search exposes this functionality (FullTextQuery.sort). if you do not want default behavior, you could pass your own sort object.
In your case default sort should be sufficient.
默认情况下,Hibernate Search 将根据默认 Lucene 评分实现确定的结果相关性(如 doc_180 提到的)对结果进行排序。
但是,如果您对其排名方式不满意(例如,您可能希望人员实体的排名通常高于您拥有的所有其他索引实体),那么您可以执行以下两种操作之一
By default Hibernate Search will sort results based on the relevance of the results (as doc_180 mentioned) determined by the default Lucene scoring implementation.
However, if you are not satisfied with the way the way it is doing the ranking (e.g. you may want People entities to generally be ranked higher than all the other indexed entities that you have) then you could do one of two things: