Sitecore 内容按领域和相关性搜索
Sitecore ContentSearch by field and relevance
我正在使用 Sitecore 8 MVC .net 4.5。我有布尔字段 Is Sponsored,我需要订购所有项目,例如首先使用字段 Is Sponsored = true 并按相关性排序。我发现如果我按 Is_Sponsored 添加订单,我将失去相关订单。所以我的问题是:有没有办法在现有排序中包含相关性?
您可以跳过查询中的布尔检查,运行 返回正确相关顺序的常规查询。然后通过布尔值将该结果集过滤成两个单独的 collections.
var results = queryable.Where(predicate).ToList();
然后:
var sponsored = results.Where(i => i.IsSponsored);
var notSponsored = results.Where(i => !i.IsSponsored);
那就加入collections.
如果您的文档数量有限,因为您必须从索引中读取所有文档,上述方法会很有效。
您可以按 SCORE 字段排序以按排序排序 - 这样您的排序顺序将是 isSponsered,SCORE。据我所知这应该有效 - 但我还没有验证它。
else - 更多关于 solr,您将有多种选择来解决这个问题。
我正在使用 Sitecore 8 MVC .net 4.5。我有布尔字段 Is Sponsored,我需要订购所有项目,例如首先使用字段 Is Sponsored = true 并按相关性排序。我发现如果我按 Is_Sponsored 添加订单,我将失去相关订单。所以我的问题是:有没有办法在现有排序中包含相关性?
您可以跳过查询中的布尔检查,运行 返回正确相关顺序的常规查询。然后通过布尔值将该结果集过滤成两个单独的 collections.
var results = queryable.Where(predicate).ToList();
然后:
var sponsored = results.Where(i => i.IsSponsored);
var notSponsored = results.Where(i => !i.IsSponsored);
那就加入collections.
如果您的文档数量有限,因为您必须从索引中读取所有文档,上述方法会很有效。
您可以按 SCORE 字段排序以按排序排序 - 这样您的排序顺序将是 isSponsered,SCORE。据我所知这应该有效 - 但我还没有验证它。
else - 更多关于 solr,您将有多种选择来解决这个问题。