2014-12-10 4 views
1

У меня есть два сервера один для сайта управления контентом и один веб-сайт доставки контента. Оба сервера имеют конфигурацию.Как построить индексы lucene на сервере CD

CM Сервер: 1) IIS, на котором работает веб-сайт. 2) Папки и файлы Sitecore. 3) База данных основного, основного и веб-сайта 4) Файлы/папки веб-сайта.

CD-сервер 1) IIS, на котором работает веб-сайт. 2) Нет файлов и файлов Sitecore. 3) Основная и общая веб-база данных. 4) Файлы/папки веб-сайта.

Примечание: веб-база данных распространена среди обоих сайтов.

Я могу просматривать страницы сайта с обоих сайтов , но Sitecore с сайта CM только в том случае, если на CD-сайте нет файлов sitecore.

Мои некоторые страницы собирают контент из индексов Lucene.

Теперь я строю индексирование lucene с сайта Sitecore (CM) с панели управления, индексы были успешно построены внутри папки данных CM-сервера, и ни один индекс не был создан внутри папки данных на CD-сайте.

Я попытался сначала скопировать индексы на CD-сервер, но при публикации изменений он только обновил индексы в папке данных сервера CM, а не в папке данных сервера CD.

Я хотел бы создать индексирование внутри папки данных на CM, а также на сервере CD, когда элемент публикуется.

Конфигурация Индекса

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/"> 
    <sitecore> 
    <contentSearch> 
     <configuration type="Sitecore.ContentSearch.LuceneProvider.LuceneSearchConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
     <indexes hint="list:AddIndex"> 
      <index id="sitecore_web_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/databasePropertyStore" param1="$(id)" /> 
      <strategies hint="list:AddStrategy"> 
       <!-- NOTE: order of these is controls the execution order --> 
       <strategy ref="contentSearch/indexUpdateStrategies/onPublishEndAsync" /> 
      </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</Root> 
       </crawler> 
      </locations> 
      </index> 
     </indexes> 
     </configuration> 
    </contentSearch> 
    </sitecore> 
</configuration> 

Публикация стратегии является "onPublishEndAsync" Просьба предложить.

ответ

0

Если ваш сервер CD имеет другую базу данных, то вы должны изменить эту часть конфигурации для этого сервера:

<locations hint="list:AddCrawler"> 
    <crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch"> 
    <Database>NAMEOF-CD1-DATABASE</Database> 
    <Root>/sitecore</Root> 
    </crawler> 
</locations> 

Edit: Я вижу, у вас есть база данных «Интернет» на серверах, так что выше не относится к ваша ситуация.

Также проверьте, включены ли настройки масштабируемости (указано в 4.1 руководства по масштабированию). Если это не активировано, события, запущенные на сервере CM, не будут запускаться на удаленном сервере CD. http://sdn.sitecore.net/Reference/Sitecore%207/Scaling%20Guide.aspx

Редактировать снова: я нашел эту статью, объясняя различные стратегии обновления. Вы должны взглянуть на RemoteRebuildStrategy. Эта стратегия позволяет серверам CD прослушивать события перестройки. http://www.sitecore.net/Learn/Blogs/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/04/Sitecore-7-Index-Update-Strategies.aspx

Смежные вопросы