【发布时间】:2013-12-30 11:54:39
【问题描述】:
我们已将 Sitecore 升级到 7.0 rev.131127(7.0 Update-3)。 我们为每个索引创建了一个单独的配置文件,每个索引也有一些自定义字段。以下是配置文件的结构。
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<contentSearch>
<configuration type="Sitecore.ContentSearch.LuceneProvider.LuceneSearchConfiguration, Sitecore.ContentSearch.LuceneProvider">
<DefaultIndexConfiguration type="Sitecore.ContentSearch.LuceneProvider.LuceneIndexConfiguration, Sitecore.ContentSearch.LuceneProvider">
<IndexAllFields>true</IndexAllFields>
<Analyzer ref="contentSearch/configuration/defaultIndexConfiguration/analyzer" />
<fields hint="raw:AddComputedIndexField">
<field fieldName="word-search" storageType="NO" indexType="UN_TOKENIZED" vectorType="NO">LowerCaseTrimmedField, Project</field>
<include hint="list:IncludeTemplate">
<!--Notes Template-->
<note>{21176496-CE68-48A0-860F-BB73CFB52D65}</note>
</include>
<indexFieldStorageValueFormatter type="Sitecore.ContentSearch.LuceneProvider.Converters.LuceneIndexFieldStorageValueFormatter, Sitecore.ContentSearch.LuceneProvider">
</indexFieldStorageValueFormatter>
<indexDocumentPropertyMapper type="Sitecore.ContentSearch.LuceneProvider.DefaultLuceneDocumentTypeMapper, Sitecore.ContentSearch.LuceneProvider" />
<fieldReaders type="Sitecore.ContentSearch.FieldReaders.FieldReaderMap, Sitecore.ContentSearch">
</fieldReaders>
</DefaultIndexConfiguration>
<indexes hint="list:AddIndex">
<index id="IndexName" 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/databasePropertyStore" param1="$(id)" />
<strategies hint="list:AddStrategy">
<!-- NOTE: order of these is controls the execution order -->
<strategy ref="contentSearch/indexUpdateStrategies/intervalAsyncCore" />
</strategies>
<locations hint="list:AddCrawler">
<crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">
<Database>core</Database>
<Root>/sitecore/Root</Root>
</crawler>
</locations>
</index>
</indexes>
</configuration>
</contentSearch>
</sitecore>
</configuration>
但是,当重建索引时,它会合并自定义字段并将来自其他索引的模板包含到该索引中。感谢您对此的意见。
嗨,TwentyGotoTen, 正如您在这里所建议的那样,是 /sitecore/admin/showconfig.aspx 文件中的合并内容搜索节点。为方便起见,我删除了一些内容。我可以看到配置文件中的所有默认配置都合并到一个部分中,这就是这种奇怪行为背后的原因。可以做些什么来阻止这种情况发生?
<contentSearch patch:source="Index1.config">
<configuration type="Sitecore.ContentSearch.LuceneProvider.LuceneSearchConfiguration, Sitecore.ContentSearch.LuceneProvider">
<DefaultIndexConfiguration type="Sitecore.ContentSearch.LuceneProvider.LuceneIndexConfiguration, Sitecore.ContentSearch.LuceneProvider">
<IndexAllFields>true</IndexAllFields>
<Analyzer ref="contentSearch/configuration/defaultIndexConfiguration/analyzer"/>
<include hint="list:IncludeTemplate">
All included templates in config files
</include>
<fields hint="raw:AddComputedIndexField">
All custom fields in config files
</fields>
<indexFieldStorageValueFormatter type="Sitecore.ContentSearch.LuceneProvider.Converters.LuceneIndexFieldStorageValueFormatter, Sitecore.ContentSearch.LuceneProvider">
</indexFieldStorageValueFormatter>
<indexDocumentPropertyMapper type="Sitecore.ContentSearch.LuceneProvider.DefaultLuceneDocumentTypeMapper, Sitecore.ContentSearch.LuceneProvider"/>
<fieldReaders type="Sitecore.ContentSearch.FieldReaders.FieldReaderMap, Sitecore.ContentSearch">
</fieldReaders>
<fieldMap type="Sitecore.ContentSearch.FieldMap, Sitecore.ContentSearch" patch:source="Index1.config">
</fieldMap>
<analyzer type="AllClassifieds.Web.extensions.indexing.Analysers.ClassifiedContentAnalyser" patch:source="Index1.config"/>
<exclude hint="list:ExcludeTemplate" patch:source="Index1.config">
All excluded templates in config files
</exclude>
</DefaultIndexConfiguration>
<indexes hint="list:AddIndex">
<index id="Index1" 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/databasePropertyStore" param1="$(id)"/>
<strategies hint="list:AddStrategy">
<!--
NOTE: order of these is controls the execution order
-->
<strategy ref="contentSearch/indexUpdateStrategies/onPublishEndAsync"/>
</strategies>
<locations hint="list:AddCrawler">
<crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">
<Database>web</Database>
<Root>/sitecore/Path</Root>
</crawler>
</locations>
</index>
<index id="Index2" type="Sitecore.ContentSearch.LuceneProvider.LuceneIndex, Sitecore.ContentSearch.LuceneProvider" patch:source="Index1.config">
<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/databasePropertyStore" param1="$(id)"/>
<strategies hint="list:AddStrategy">
<!--
NOTE: order of these is controls the execution order
-->
<strategy ref="contentSearch/indexUpdateStrategies/intervalAsyncMaster"/>
</strategies>
<locations hint="list:AddCrawler">
<crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">
<Database>master</Database>
<Root>/sitecore/Path</Root>
</crawler>
</locations>
</index>
</indexes>
<defaultIndexConfiguration type="Sitecore.ContentSearch.LuceneProvider.LuceneIndexConfiguration, Sitecore.ContentSearch.LuceneProvider" patch:source="Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config">
</defaultIndexConfiguration>
</configuration>
<!--
INDEXING STRATEGIES
Here is a list of the different indexing strategies that you can use. You can also combine these strategies to achieve what you want.
-->
<indexUpdateStrategies patch:source="Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config">
</indexUpdateStrategies>
<databasePropertyStore type="Sitecore.ContentSearch.Maintenance.IndexDatabasePropertyStore, Sitecore.ContentSearch" patch:source="Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config">
<Key>$(1)</Key>
<Database>core</Database>
</databasePropertyStore>
</contentSearch>
【问题讨论】:
-
您能否从合并的 web.config 文件中提供
contentSearch节点?可在/sitecore/admin/showconfig.aspx -
向 Sitecore 支持提交工单可能是个好主意
标签: xml lucene sitecore sitecore7