我在 Sitecore 6.5 中有一个 Sitecore Advanced Database Crawler 索引,它显示出奇怪的行为。
我使用索引来索引产品项目,并在我的 Sitecore 内容树中具有以下结构:
/Products/Category/Product1
./Product2
./Product3
每天晚上都会运行一个导入过程,该过程会删除项目 /Category/ 及其所有后代,并使用基础产品创建一个新项目(带有新的 Guid)。
每天的产品大多相同,只有少数添加或删除。
我的 ADC 索引的 rootPath 设置为 /Products/Category/
导入后,在 /Products/ 项目及其所有后代上完成发布。
到目前为止,一切都很好。但是我注意到发布后,ADC索引被修改了,但是当我打开应该显示产品的页面时,我没有产品。当我使用 Luke 打开索引时,我的索引中只有“已删除”的文档。
我检查了 Web 数据库的 HistoryTable,它包括已删除产品和新创建产品的记录。Web 数据库中的 IndexingProvider_LastUpdate 时间戳晚于历史表中的最新记录。
似乎 ADC/Lucene 索引将已删除项目置于已创建项目之上,并使用路径而不是 ID 来确定哪个项目是最新的。
当我手动完全发布 /Category/ 项目及其在导入后的后代时,索引将再次被修改,然后产品项目将作为索引和网页中的正常项目返回。
这里出了什么问题,如何解决?