搜索结果使用Sitecore 7 ContentSearch API排序顺序?

时间:2013-08-23 10:40:21

标签: lucene sitecore sitecore7

我使用Sitecore.ContentSearch API执行搜索工作正常并带回预期结果。

searchResults = context.GetQueryable<SearchItem>()
    .Where(i => i.Name.Contains(searchTerm));

然后我在Boosting Rule添加了一个/sitecore/system/Settings/Indexing and Search/Boosting Rules/Item Rules来检查项目的布尔值,如果它的真实提升了分数,则规则已通过项目模板上的标准值应用。

我遇到的问题是从GetQueryable调用返回的结果的顺序与我期望的结果不匹配。

如果我在Luke v3.5中运行相同的查询,我会按照得分desc排序预期的结果。

有谁知道为什么对GetQueryable结果的调用会有不同的顺序?

Update - Additional Rule Details

规则

enter image description here

项目模板

enter image description here

1 个答案:

答案 0 :(得分:3)

在Linq中使用boosting时,不支持使用Contains的Sitecore支持,因为这会在Lucene中构建一个不支持提升的Wildcard Query

更详细地讨论了here