首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >v7中提升项solr的排序

v7中提升项solr的排序
EN

Stack Overflow用户
提问于 2016-01-20 06:54:02
回答 1查看 982关注 0票数 0

我正在使用提升项目的solr seach在sitecore 7.2。我在Boost值中增加了值,然后重建了索引,那么如何通过提升值对结果项进行排序呢?我试过这样做:

代码语言:javascript
复制
var dataQuerycontext.GetQueryable<SearchResultItem>()
....
dataQuery = dataQuery.OrderByDescending(i => i["score"]);
var results = dataQuery.GetResults().Hits.Select(h => h.Document);

但这不管用。似乎商店总有价值是1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-20 13:50:43

在使用SOLR时,索引时间增加似乎不起作用,因为Sitecore使用标准查询参数编写查询。要使查询在索引时使用给定给项的boost,则需要使用DISMAXEDISMAX查询。目前,Sitecore还没有被设置为这样做。

所以你必须在查询的时候做你的提升。

此外,您的订单按分数是不需要的,从.GetResults()的结果应该已经排序的分数。如果没有,则应该使用.Score列表的Hits值。

代码语言:javascript
复制
var dataQuerycontext.GetQueryable<SearchResultItem>()
    .where(x => (x.MyField == "myvalue").Boost(2f)
    ... more query options ...
    )
....
var results = dataQuery.GetResults().Hits
    .OrderByDescending(h => h.Score).Select(h => h.Document);

这将提高查询中的字段。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34893353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档