Umbraco检查 - 如何对搜索结果进行排序?

时间:2011-03-11 02:02:52

标签: search sorting lucene umbraco

我正在尝试按照我创建的自定义Umbraco属性对搜索结果进行排序 - 让我们称之为 sortDate

在我的IndexSet中,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:)

1 个答案:

答案 0 :(得分:3)

好的,不知道我是怎么错过这个,但看起来你可以做到:

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