我正在使用Sitecore.ContentSearch
API执行搜索,效果很好,并带回了预期的结果。
searchResults = context.GetQueryable<SearchItem>()
.Where(i => i.Name.Contains(searchTerm));
然后,我添加了一个Boosting Rule
at /sitecore/system/Settings/Indexing and Search/Boosting Rules/Item Rules
,用于检查项目上的布尔值,如果它的真值提高了得分,则该规则已通过Item模板上的“标准值”应用了。
我遇到的问题是从GetQueryable调用返回的结果的顺序与我期望的结果不匹配。
如果我在运行相同的查询,则Luke v3.5
得到的期望结果将由Score desc重新排序。
有谁知道为什么对GetQueryable结果的调用会以不同的顺序进行?
Update - Additional Rule Details
规则
项目模板
在Linq中使用时,boosting
不支持Sitecore的支持,但不支持使用Contains
,因为这Wildcard Query
在Lucene中构造了一个不支持Boosting的支持。
它在这里更详细地讨论
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句