Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按字段和相关性进行Sitecore内容搜索_Sitecore_Sitecore Mvc - Fatal编程技术网

按字段和相关性进行Sitecore内容搜索

按字段和相关性进行Sitecore内容搜索,sitecore,sitecore-mvc,Sitecore,Sitecore Mvc,我使用的是SiteCore8MVC.NET4.5。我有一个布尔值字段是赞助的,我需要订购所有项目,例如first with first with field Is CONSONDORD=true和按相关性排序。我发现如果我添加order by Is_赞助商,我就失去了关联顺序。因此,我的问题是:有没有一种方法可以在现有的排序中包含相关性?您可以跳过查询中的布尔检查,然后以正确的相关性顺序运行常规查询。然后根据布尔值将结果集过滤到两个单独的集合中 var results = queryable.W

我使用的是SiteCore8MVC.NET4.5。我有一个布尔值字段是赞助的,我需要订购所有项目,例如first with first with field Is CONSONDORD=true和按相关性排序。我发现如果我添加order by Is_赞助商,我就失去了关联顺序。因此,我的问题是:有没有一种方法可以在现有的排序中包含相关性?

您可以跳过查询中的布尔检查,然后以正确的相关性顺序运行常规查询。然后根据布尔值将结果集过滤到两个单独的集合中

var results = queryable.Where(predicate).ToList();
然后:


然后加入集合。

如果您的文档数量有限,则上述方法可以正常工作,因为您必须从索引中读取所有文档

var results = queryable.Where(predicate).ToList();
您可以按字段分数进行排序,以按排序进行排序-因此,您的排序顺序将是ISponsered,SCORE。据我记忆所及,这应该是可行的——但我还没有验证它


else-更多信息请访问solr,您将有多种选择来解决此问题。

谢谢,我将首先尝试您的解决方案。我忘了写,我也有分页的要求,所以这将是好的,如果这个命令是工作。Mark的上述解决方案是我的B计划,但使用分页实现看起来很复杂。还有Klaus,您知道Linq查询在分数字段有序的情况下应该是什么样子吗?谢谢Mark,您的解决方案是我的B计划,因为使用分页实现看起来很复杂。忘了写下我有分页要求,所以在这种情况下,我应该先获得所有赞助商的相关顺序,若并没有足够的项目,在列表中添加并没有赞助商。好的,很高兴知道,我并没有意识到分页的需要。下一次,请确保您将此添加到问题中:-)只是给可能的亲密投票者一个提示:SiteCore是一个高端CMS,这些类型的问题只能由开发人员提出或对开发人员有用,而不是对普通用户。迁移到Superuser.com不正确。另见