我知道Lucene索引无法共享:
Sitecore在文件系统中保留Lucene索引的本地副本 每个实例并不支持在它们之间共享索引 实例
CM和CD之间的xcopy
Lucene索引是否可能?
是否有其他方法或建议在30多个内容交付服务器中维护索引?
更新: 我完全清楚CD必须启动自己的索引更新。有超过30台CD服务器,我想可能会有一段时间不是所有的CD服务器都有相同的索引集。我担心由于某种原因索引会在某些CD服务器中失败并跟踪为什么/哪里将是地狱。这就是为什么试图发现是否有一些替代方法,其中索引在一个地方维护(某种类型共享)并且基本上立即复制到所有CD
答案 0 :(得分:8)
您需要为CM和CD服务器Web数据库启用History Engine。
请参阅Sitecore Scaling指南中的此摘录。
为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>
更改Sitecore项目后,将更新Lucene索引 立即在进行更改的Sitecore实例上。上 在多服务器环境中的远程服务器,Lucene索引是 更改项目后不立即更新。 Lucene指数 在。中定义的间隔后自动更新 web.config文件,在Indexing.UpdateInterval设置中并带有 在。中定义的两个后续更新之间的最短等待时间 Indexing.UpdateJobThrottle设置。
请参阅here
答案 1 :(得分:2)
您还可以考虑使用将在内存中运行索引爬网操作的开源Sitecore Lucene Refresher,并将索引提交回文件系统,以便在重建过程中不会丢失任何索引内容。这至少可以提供帮助。然后,可能会设置某种代理,以便在一天中的特定时间运行此爬网/重建操作,以使所有CD服务器同时保持同步。
答案 2 :(得分:1)
Wesley Lomax的回答是正确的。但是,我想指出,我也参与了相同的情况,我的数据文件夹中有1000个项目。我更新了我的web.config设置:
<!-- INDEX FOLDER
The path to the folder where the Lucene.Net search indexes are stored.
Default value: $(dataFolder)/indexes
-->
<setting name="IndexFolder" value="$(dataFolder)/indexes" />
<!-- INDEX UPDATE INTERVAL
Gets the interval between the IndexingManager checking its queue for pending actions.
Default value: "00:01:00" (1 minute)
-->
<setting name="Indexing.UpdateInterval" value="00:00:30" />
<!-- INDEX UPDATE JOB THROTTLE
Gets the minimum time to wait between individual index update jobs.
Default value: "00:00:01" (1 second)
-->
<setting name="Indexing.UpdateJobThrottle" value="00:00:01" />
答案 3 :(得分:0)
应该指出,sitecore现在建议您在此方案中使用Solr而不尝试同步多个Lucene索引:
使用Solr而不是Lucene的一般原因是......
如果您使用多个内容传送服务器(或计划稍后执行此操作), 使用Solr。 Solr在这样的环境中自动工作。你可以 使用Lucene,但您必须确保索引已同步 自己跨服务器。
如果您计划扩展您的网站,您应该使用Solr(拥有 具有多个服务器的分布式设置。)