0

我在 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/ 项目及其在导入后的后代时,索引将再次被修改,然后产品项目将作为索引和网页中的正常项目返回。

这里出了什么问题,如何解决?

4

1 回答 1

0

我注意到我的索引指向 /Products/Category/ 并且在导入期间 /Category/ 项目被删除并重新创建。将索引路径更改为 /Products/ 似乎可以解决问题。当索引起点被删除并重新创建时,索引爬虫会以某种方式卡住。

于 2013-06-24T12:25:05.337 回答