2013-08-23 53 views
3

我正在使用Sitecore.ContentSearch API执行可正常工作的搜索并带回预期结果。搜索结果使用Sitecore 7 ContentSearch API排序顺序?

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

我已经然后在/sitecore/system/Settings/Indexing and Search/Boosting Rules/Item Rules,检查关于该项目的布尔值增加了一个Boosting Rule,如果其真正提升了比分,规则已通过的项目模板标准值应用。

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

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

有谁知道为什么调用GetQueryable结果的顺序不一样吗?

Update - Additional Rule Details

规则

enter image description here

项模板

enter image description here

+0

韦斯利嗨,你可以给我们介绍一下提高规则的详细信息讨论?你对模板字段提升了价值吗? – 2013-08-23 11:08:32

+0

我正在使用规则引擎来定义规则并通过提升规则字段应用它。 –

+0

你看到什么查询?你期望什么,你最终会得到什么结果。为什么这不符合你的期望? – Younes

回答

3

Sitecore的支持又回来了无线如果在Linq中使用Contains,则不支持boosting的使用,因为这会在Lucene中构建不支持boost的Wildcard Query

它在稍微详细here