2011-03-11 77 views
0

我想通過我創建的自定義Umbraco屬性對搜索結果進行排序 - 我們將其稱爲sortDateUmbraco檢查 - 如何對搜索結果進行排序?

在我的索引集,在config/ExamineIndex.config我有這樣的:

<IndexUserFields> 
     <add Name="sortDate" EnableSorting="true" Type="DateTime" /> 
     ... 

在我搜索的用戶控制,我構建criteriafilter,並用它們來尋找像這樣:

var criteria = 
     ExamineManager.Instance.SearchProviderCollection["MySearcher"].CreateSearchCriteria(
       UmbracoExamine.IndexTypes.Content); 

var filter = 
     criteria.GroupedOr(new string[] { "sortDate", "someThing", "someThingElse", "bodyText" }, SearchTerm.ToLower()).Compile(); 

var MySearchResults = 
     ExamineManager.Instance.SearchProviderCollection["MySearcher"].Search(filter).Distinct(); 

我猜猜我需要添加一些內容來指定Lucene如何在我的過濾器上對它進行排序?

這是一把umbraco 4.6.1如果該事項:)

回答

3

OK,不知道我怎麼錯過了這一點,但它看起來像你可以這樣做:

filter.OrderBy(new string[] { "sortDate" }); 
+1

感謝埃爾溫,較早的企業之一的帖子建議使用,_或__ infront的名稱。但沒有任何前綴,我可以看到按需要排序的結果。日期時間值被轉換爲數值以進行排序,即20121029134700等。 – 2012-10-29 13:47:01

+0

文檔在這裏https://github.com/Shazwazza/Examine/wiki/Sorting-results – Shazwazza 2017-01-12 00:09:13

相關問題