如何在庞大的内容交付webfarm中维护Sitecore Lucene索引?

Dev*_*ser 10 lucene sitecore sitecore6

我知道Lucene索引不能共享:

Sitecore在每个实例的文件系统中保留Lucene索引的本地副本,并且不支持在实例之间共享索引.

xcopyCM和CD之间的Lucene索引是否可能?

是否有其他方法或建议在30多个内容交付服务器中维护索引?

更新:我完全清楚CD必须启动自己的索引更新.有超过30台CD服务器,我想可能会有一段时间不是所有的CD服务器都有相同的索引集.我担心由于某种原因索引会在某些CD服务器中失败并跟踪为什么/哪里将是地狱.这就是为什么试图发现是否存在一些替代方法,其中索引在一个地方维护(某种类型共享)并且基本上立即复制到所有CD

Wes*_*max 8

您需要为CM和CD服务器Web数据库启用History Engine.

请参阅Sitecore Scaling Guide中的此摘录.

要为Sitecore数据库启用History Engine,请执行以下操作:在web.config文件中,将以下部分添加到/ configuration/sitecore/databases/database元素,其中id等于数据库的名称:

<Engines.HistoryEngine.Storage>
  <obj type="Sitecore.Data.$(database).$(database)HistoryStorage, Sitecore.Kernel">
   <param connectionStringName="$(id)" />
   <EntryLifeTime>30.00:00:00</EntryLifeTime>
  </obj>
</Engines.HistoryEngine.Storage>
<Engines.HistoryEngine.SaveDotNetCallStack>false</Engines.HistoryEngine.SaveDotNetCallStack>
Run Code Online (Sandbox Code Playgroud)

更改Sitecore项时,Lucene索引会立即在进行更改的Sitecore实例上更新.在多服务器环境中的远程服务器上,更改项目后不会立即更新Lucene索引.Lucene索引在web.config文件中定义的时间间隔之后,在Indexing.UpdateInterval设置中自动更新,并且在Indexing.UpdateJobThrottle设置中定义的两个后续更新之间的最短等待时间.

看到这里