我正在尝试获取每个返回结果项的分数值,但问题是所有项都返回了相同的分数值。我正在使用从sitecore 6.6升级的sitecore 7.2站点。我使用solr版本4.10.2-0
以下是我正在使用的代码:
var contentPredicate = PredicateBuilder.True<customSearchResultItem>();
contentPredicate = contentPredicate.And(p => p.Content.Matches(SearchKey.Boost(1.0f)));
IQueryable<SearchResultItem> query = context.GetQueryable<customSearchResultItem>().Where(contentPredicate);
var hits = query.GetResults().Hits;
foreach (var item in hits)
{
scores.Add(item.Score);
}
请问您是否遗漏了什么?或者是否有任何配置应该应用于这项工作?
答案 0 :(得分:2)
Sitecore知识库中有一篇与此相关的帖子,指出点击的得分乘以0,因此所有结果的得分都相同。
该帖子与Lucene有关,但我相信它也与Solr有关。
解决问题
/sitecore/templates/System/Templates/Sections/Indexing
部分。Boost Value
字段中输入值。由于您的实例是升级版本6.6,在ContentSearch存在之前,标准值在升级脚本中不存在或创建。
答案 1 :(得分:0)
应该存在以下内容来应用提升功能并相应地对项目进行排序: