Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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
Solr Sitecore:ResolveFieldBoostArgs不包含“FieldDefinitionItem”的定义_Solr_Sitecore_Sitecore7_Sitecore7.2 - Fatal编程技术网

Solr Sitecore:ResolveFieldBoostArgs不包含“FieldDefinitionItem”的定义

Solr Sitecore:ResolveFieldBoostArgs不包含“FieldDefinitionItem”的定义,solr,sitecore,sitecore7,sitecore7.2,Solr,Sitecore,Sitecore7,Sitecore7.2,我正在尝试为字段实现基于规则的增强,如本手册第5.7.2节所述。我已经用这些include复制了代码行,因此整个类文件如下所示: 使用制度; 使用System.Collections.Generic; 使用System.Linq; 使用System.Web; 使用Sitecore.ContentSearch.Pipelines.ResolveBoost.ResolveFieldBoost; 使用Sitecore.Diagnostics; 使用Sitecore.ContentSearch.Boos

我正在尝试为字段实现基于规则的增强,如本手册第5.7.2节所述。我已经用这些include复制了代码行,因此整个类文件如下所示:

使用制度; 使用System.Collections.Generic; 使用System.Linq; 使用System.Web; 使用Sitecore.ContentSearch.Pipelines.ResolveBoost.ResolveFieldBoost; 使用Sitecore.Diagnostics; 使用Sitecore.ContentSearch.Boosting; 使用Sitecore; 使用Sitecore.ContentSearch; 使用Sitecore.ContentSearch.Diagnostics; 名称空间MyNamespace.Pipeline { 公共类RuleBasedFieldBoostResolver:BaseResolveFieldBoostPipelineProcessor { 公共覆盖无效ProcessResolveFieldBoostArgs参数 { Assert.ArgumentNotNullargs,args; Assert.ArgumentNotNullargs.FieldDefinitionItem,字段定义项; var fieldItem=args.FieldDefinitionItem; var ruleContext=new RuleBoostingContextfieldItem; var ruleItems=this.GetLocalBoostingRulesfieldItem; 如果ruleItems==null | |!ruleItems.Any { CrawlingLog.Log.Debugstring.format未解析字段{0},fieldItem.Uri的本地规则; 回来 } var rules=this.ConvertToBoostingRulesruleItems; 尝试 { 如果规则!=null { rules.RunruleContext; } } 捕获异常 { CrawlingLog.Log.Errorstring.Format无法解析项{0}的boost,fieldItem.Uri,异常; } args.ResolvedBoost+=ruleContext.Boost; } } } 但是,我得到一个错误:ResolveFieldBoostArgs不包含“FieldDefinitionItem”的定义

你知道我遗漏了什么吗

谢谢 Thad

交换该行:

为了

var fieldItem = args.FieldDefinitionItem;
var fieldItem = (Item)args.FieldDefinition;