簡體   English   中英

在Sitecore v7中使用Boosting Item Solr進行排序

[英]Sorting with Boosting item solr in sitecore v7

我在Sitecore 7.2中使用Boosting項目進行solr seach。 我在Boost Value中添加了值,然后重建了索引,那么如何通過Boosting Value對結果項進行排序? 我嘗試過這樣的st:

var dataQuerycontext.GetQueryable<SearchResultItem>()
....
dataQuery = dataQuery.OrderByDescending(i => i["score"]);
var results = dataQuery.GetResults().Hits.Select(h => h.Document);

但這不起作用。 似乎商店的總價值是1

將Sitecore與SOLR結合使用時,似乎無法提高索引時間,因為Sitecore使用標准查詢參數編寫查詢。 為了使查詢在索引時間使用賦予項目的提升,它需要使用DISMAXEDISMAX查詢。 目前尚未設置Sitecore API。

因此,您將不得不在查詢時進行提升。

另外,不需要按分數排序, .GetResults()的結果應該已經按分數排序。 如果不是,則應使用“ Hits列表的.Score值。

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);

然后,這將提高查詢中的字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM