【发布时间】:2016-03-24 21:29:42
【问题描述】:
我在 Sitecore 中有一个索引。被索引的模板的字段之一是称为“标签”的树列表字段。当我使用 Luke 检查索引时,我看到了该字段并且它有值。
1.) 标签索引中的值是所选树列表项的 ID——我需要它作为显示名称。
2.) 现在我的抓取日志充满了:
WARN 您已指定 IncludeTemplates 和 ExcludeTemplates。 不支持此逻辑。排除模板将被忽略。
这是我的索引配置,但显然我有一些不正确的地方:
<index id="knowledge_center_index" type="Sitecore.ContentSearch.LuceneProvider.LuceneIndex, Sitecore.ContentSearch.LuceneProvider">
<param desc="name">$(id)</param>
<param desc="folder">$(id)</param>
<param desc="propertyStore" ref="contentSearch/indexConfigurations/databasePropertyStore" param1="$(id)" />
<configuration ref="contentSearch/indexConfigurations/defaultLuceneIndexConfiguration">
<include hint="list:IncludeTemplate">
<generalTemplatePage>{AD63DB1D-A3A5-4D16-9F19-7D878BBE2568}</generalTemplatePage>
<newsPage>{85901309-D07C-447B-97DA-EA6F1581832C}</newsPage>
<inTheNewsPage>{C49A9219-231D-42C6-AED2-9115CC241247}</inTheNewsPage>
</include>
<IndexAllFields>true</IndexAllFields>
<fieldMap type="Sitecore.ContentSearch.FieldMap, Sitecore.ContentSearch">
<fieldNames hint="raw:AddFieldByFieldName">
<fieldType fieldName="tags" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider" />
</fieldNames>
</fieldMap>
</configuration>
<strategies hint="list:AddStrategy">
<strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/onPublishEndAsync" />
<strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/remoteRebuild" />
</strategies>
<commitPolicyExecutor type="Sitecore.ContentSearch.CommitPolicyExecutor, Sitecore.ContentSearch">
<policies hint="list:AddCommitPolicy">
<policy type="Sitecore.ContentSearch.TimeIntervalCommitPolicy, Sitecore.ContentSearch" />
</policies>
</commitPolicyExecutor>
<locations hint="list:AddCrawler">
<crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">
<Database>web</Database>
<Root>/sitecore/content/Sites/My Site/Knowledge Center</Root>
</crawler>
</locations>
</index>
更新:@Marek Musielak -- 对于 #1,我按照您在答案中指出的链接进行操作,并且在我的 Crawling.logs 中一遍又一遍地遇到这种错误:
6272 12:49:18 错误无法计算 ComputedIndexField 的值: 可索引的潜力: sitecore://master/{2D06E798-6BFE-4089-A610-5C341BF28B09}?lang=en&ver=3 异常:System.Reflection.TargetInvocationException 消息: 调用的目标已引发异常。来源: mscorlib 在 System.RuntimeMethodHandle.InvokeMethod(对象目标, Object[] 参数,签名 sig,布尔构造函数)在 System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr、Binder binder、Object[] 参数、CultureInfo 文化)
在 Sitecore.Reflection.ReflectionUtil.CreateObject(类型类型,对象 [] 参数)在 Sitecore.Configuration.Factory.CreateFromTypeName(XmlNode configNode, String[] 参数,布尔断言)在 Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] 参数,布尔断言,IFactoryHelper 助手)在 Sitecore.Configuration.Factory.GetInnerObject(XmlNode paramNode, String[] 参数,布尔断言)在 Sitecore.Configuration.Factory.AssignProperties(XmlNode configNode, String[] 参数,Object obj,布尔断言,布尔延迟, IFactoryHelper 助手)在 Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] 参数,布尔断言,IFactoryHelper 助手)在 Sitecore.Configuration.Factory.CreateObject(字符串配置路径, String[] 参数,布尔断言)在 Sitecore.Analytics.Reporting.ReportingQueryBase..ctor(ReportDataProviderBase reportProvider, CachingPolicy 缓存策略)在 Sitecore.ContentTesting.Analytics.Reporting.TestPotentialQuery..ctor(ReportDataProviderBase 报告提供者)在 Sitecore.ContentTesting.ContentSearch.ComputedIndexFields.TestPotentialMetricBase.ComputeFieldValue(IIndexable 可转位)在 Sitecore.ContentSearch.LuceneProvider.LuceneDocumentBuilder.AddComputedIndexFields()嵌套异常
异常:System.Reflection.TargetInvocationException 消息: 调用的目标已引发异常。来源: mscorlib 在 System.RuntimeMethodHandle.InvokeMethod(对象目标, Object[] 参数,签名 sig,布尔构造函数)在 System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr、Binder binder、Object[] 参数、CultureInfo 文化)
在 Sitecore.Reflection.ReflectionUtil.CreateObject(类型类型,对象 [] 参数)在 Sitecore.Configuration.Factory.CreateFromTypeName(XmlNode configNode, String[] 参数,布尔断言)在 Sitecore.Configuration.Factory.CreateObject(XmlNode configNode, String[] 参数,布尔断言,IFactoryHelper 助手)在 Sitecore.Configuration.Factory.CreateObject(字符串配置路径, String[] 参数,布尔断言)在 Sitecore.Analytics.Reports.StimulsoftIntegration.BuiltInFunctionsReportDataSource..ctor()嵌套异常
异常:System.InvalidOperationException 消息:无法使用 作为 Analytics 的 DataAdapterProvider 已禁用。来源: Sitecore.Analytics.MongoDB 在 Sitecore.Analytics.Data.DataAccess.MongoDb.MongoDbDataAdapterProvider..ctor(Func`2 驱动工厂)
为什么它会关心 Google Analytics(分析)是否被禁用?
更新 2:@Rogier
我需要将 fieldMap 移动到 defaultLuceneIndexConfiguration:
<defaultLuceneIndexConfiguration type="Sitecore.ContentSearch.LuceneProvider.LuceneIndexConfiguration, Sitecore.ContentSearch.LuceneProvider">
<fieldMap type="Sitecore.ContentSearch.FieldMap, Sitecore.ContentSearch">
<fieldNames hint="raw:AddFieldByFieldName">
<field patch:before="field[0]" fieldName="tags" storageType="YES" indexType="UNTOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider" />
</fieldNames>
</fieldMap>
<fields hint="raw:AddComputedIndexField">
<field patch:before="field[0]" fieldName="tags">MyNamespace.Search.ComputedFields, MyNamespace.Search</field>
</fields>
主索引补丁最终看起来像:
<index id="knowledge_center_index" type="Sitecore.ContentSearch.LuceneProvider.LuceneIndex, Sitecore.ContentSearch.LuceneProvider">
<param desc="name">$(id)</param>
<param desc="folder">$(id)</param>
<!-- This initializes index property store. Id has to be set to the index id -->
<param desc="propertyStore" ref="contentSearch/indexConfigurations/databasePropertyStore" param1="$(id)" />
<configuration ref="contentSearch/indexConfigurations/defaultLuceneIndexConfiguration">
<include hint="list:IncludeTemplate">
<generalTemplatePage>{AD63DB1D-A3A5-4D16-9F19-7D878BBE2568}</generalTemplatePage>
<newsPage>{85901309-D07C-447B-97DA-EA6F1581832C}</newsPage>
<inTheNewsPage>{C49A9219-231D-42C6-AED2-9115CC241247}</inTheNewsPage>
</include>
<IndexAllFields>true</IndexAllFields>
</configuration>
<strategies hint="list:AddStrategy">
<!-- NOTE: order of these is controls the execution order -->
<strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/onPublishEndAsync" />
<strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/remoteRebuild" />
</strategies>
<commitPolicyExecutor type="Sitecore.ContentSearch.CommitPolicyExecutor, Sitecore.ContentSearch">
<policies hint="list:AddCommitPolicy">
<policy type="Sitecore.ContentSearch.TimeIntervalCommitPolicy, Sitecore.ContentSearch" />
</policies>
</commitPolicyExecutor>
<locations hint="list:AddCrawler">
<crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">
<Database>web</Database>
<Root>/sitecore/content/Sites/My Site/Knowledge Center</Root>
</crawler>
</locations>
我希望这会有所帮助...
【问题讨论】:
-
你能在 Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config 中查看是否设置了“
-
您是否解决了更新中列出的
Cannot use DataAdapterProvider as Analytics is disabled问题?我们有同一个。不过,我的 Google-Fu 让我失望了:在网上找不到任何可能的原因。 -
@RogiervanhetSchip 我添加了另一个更新,希望对您有所帮助。
标签: sitecore sitecore8 sitecore-lucene