我正在尝试按照我创建的自定义Umbraco属性对搜索结果进行排序 - 让我们称之为 sortDate 。
在我的IndexSet中,config/ExamineIndex.config
我有这个:
<IndexUserFields>
<add Name="sortDate" EnableSorting="true" Type="DateTime" />
...
在我的搜索用户控件中,我正在构建criteria
和filter
并使用它们进行搜索:
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:)
答案 0 :(得分:3)
好的,不知道我是怎么错过这个,但看起来你可以做到:
filter.OrderBy( new string[] { "sortDate" } );