如何在CD服务器上构建lucene索引

如何在CD服务器上构建lucene索引,lucene,sitecore,lucene.net,sitecore7,Lucene,Sitecore,Lucene.net,Sitecore7,我有两个服务器,一个用于内容管理网站,一个用于内容交付网站。两台服务器都有以下配置 CM服务器: 1 IIS在哪个网站上运行。 2个Sitecore文件夹和文件。 3核心、主数据库和web数据库 4个网站代码文件/文件夹 光盘服务器 1 IIS在哪个网站上运行。 2没有Sitecore文件夹和文件。 3核心和通用web数据库。 4个网站代码文件/文件夹 注意:这两个网站都有Web数据库 我可以浏览两个网站的网页 但Sitecore从CM网站只作为CD网站并没有Sitecore文件 我的一些页面正

我有两个服务器,一个用于内容管理网站,一个用于内容交付网站。两台服务器都有以下配置

CM服务器: 1 IIS在哪个网站上运行。 2个Sitecore文件夹和文件。 3核心、主数据库和web数据库 4个网站代码文件/文件夹

光盘服务器 1 IIS在哪个网站上运行。 2没有Sitecore文件夹和文件。 3核心和通用web数据库。 4个网站代码文件/文件夹

注意:这两个网站都有Web数据库

我可以浏览两个网站的网页 但Sitecore从CM网站只作为CD网站并没有Sitecore文件

我的一些页面正在从Lucene索引中提取内容

现在我从控制面板从Sitecore CM网站构建lucene索引,索引成功地构建在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>
发布策略为OnPublishindAsync
请建议。

如果您的cd服务器有另一个数据库,则应将该服务器的配置更改为:

<locations hint="list:AddCrawler">
  <crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">
    <Database>NAMEOF-CD1-DATABASE</Database>
    <Root>/sitecore</Root>
  </crawler>
</locations>
编辑:我看到您有跨服务器的“web”数据库,所以上述内容不适用于您的情况

另外,请检查是否启用了缩放指南4.1中所述的缩放设置。如果未启用此选项,则在CM服务器上触发的事件将不会在远程CD服务器上触发。

再次编辑:我发现这篇文章解释了不同的更新策略。你应该看看远程重建策略。此策略允许CD服务器侦听重建事件。