[英]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使用標准查詢參數編寫查詢。 為了使查詢在索引時間使用賦予項目的提升,它需要使用DISMAX
或EDISMAX
查詢。 目前尚未設置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.