我目前正在尝试使用 NHibernate.Search,但我需要为查询返回的每个结果获取分数。
任何人都知道如何做到这一点?
谢谢。
我目前正在尝试使用 NHibernate.Search,但我需要为查询返回的每个结果获取分数。
任何人都知道如何做到这一点?
谢谢。
如果您正在使用投影,则可以通过将要投影的属性之一作为 ProjectionConstants.SCORE 引用来做到这一点。这将导致 lucene 返回存储在索引中的值,而不是对数据库进行查询。该查询将返回一个 object[] 值而不是对象的数组列表。
例如。
IFullTextQuery query = search.CreateFullTextQuery("query goes here");
query.SetProjection("FirstName", "LastName", ProjectionConstants.SCORE);