我使用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
规则
项目模板
答案 0 :(得分:3)
在Linq中使用boosting
时,不支持使用Contains
的Sitecore支持,因为这会在Lucene中构建一个不支持提升的Wildcard Query
。
更详细地讨论了here