Sitecore CMS + DMS 6.6.0 rev.130404 => 7,0 rev.130424Обновление Sitecore конфигурации 6.6 индекс Sitecore 7 (с использованием ComputedFields)
В нашем проекте мы используем AdvancedDatabaseCrawler (АЦП) для наших индексов (особенно из-за его динамических полей). Вот конфигурация индекса пример:
<index id="GeoIndex" type="Sitecore.Search.Index, Sitecore.Kernel">
<param desc="name">$(id)</param>
<param desc="folder">$(id)</param>
<analyzer ref="search/analyzer" />
<locations hint="list:AddCrawler">
<web type="scSearchContrib.Crawler.Crawlers.AdvancedDatabaseCrawler, scSearchContrib.Crawler">
<database>web</database>
<root>/sitecore/content/Globals/Locations</root>
<IndexAllFields>true</IndexAllFields>
<include hint="list:IncludeTemplate">
<!--Suburb Template-->
<suburb>{FF0D64AA-DCB4-467A-A310-FF905F9393C0}</suburb>
</include>
<dynamicFields hint="raw:AddDynamicFields">
<dynamicField type="OurApp.CustomSearchFields.SearchTextField,OurApp" name="search text" storageType="NO" indexType="TOKENIZED" vectorType="NO" />
<dynamicField type="OurApp.CustomSearchFields.LongNameField,OurApp" name="display name" storageType="YES" indexType="UN_TOKENIZED" vectorType="NO" />
</dynamicFields>
</web>
</locations>
</index>
Как вы можете видеть, мы используем scSearchContrib.Crawler.Crawlers.AdvancedDatabaseCrawler
как искателем, и он использует поля, определенные в разделе <dynamicFields hint="raw:AddDynamicFields">
, чтобы ввести пользовательские поля в индекс.
Теперь мы обновляем наш проект до sitecore 7. В Sitecore 7 они портировали функциональность DynamicFields из ADC в sitecore. Я узнал некоторые статьи об этом и преобразовал наши классы полей пользовательского поиска для реализации интерфейса sitecore 7 IComputedIndexField
вместо наследования с класса BaseDynamicField
в АЦП. Теперь моя проблема заключается в том, как изменить конфигурацию индекса в соответствии с новыми API-интерфейсами sitecore 7. В Интернете были биты и фрагменты, но не удалось найти все примеры, необходимые для преобразования моей конфигурации. Может ли кто-нибудь помочь мне в этом?
Пока я делаю это, у меня создается впечатление, что нам не придется перестраивать наши индексы, поскольку он все еще использует Lucene внутри. Я не хочу изменять структуру индекса. Просто хочу обновить код и конфигурацию от AdvancedDatabaseCrawler до Sitecore 7. Должен ли я беспокоиться о нарушении существующих индексов? Прошу пролить свет на это.
Благодаря
спасибо Стивена! Мне удалось преобразовать конфигурации, посмотрев конфигурацию поиска sitecore, которая поставляется с sitecore и некоторыми экспериментами. Да, IncludeTemplates не работает, и я собираюсь обновиться до версии 7.0 Update-3. – ravinsp