lucene 索引损坏的原因 [Alfresco 4.2]
Reasons why lucene indexes get corrupt [Alfresco 4.2]
我在 REDHAT 7 服务器上 运行 alfresco 4.2。所以我必须处理 Lucene 2.4。
我正在处理的问题是 Lucene 索引越来越频繁地被损坏。每次发生这种情况时,回购都会关闭。和一个完整的重新索引,使服务器再次启动。
我需要帮助以了解更多有关导致索引损坏的原因。以及如何处理(重建索引需要很多时间)
我们也在使用 Lucene,尽管它不在 Alfresco 中。
从我们所看到的情况来看,我们遇到了一个问题,即 Lucene 给每个文档的唯一 ID 实际上在向索引添加或删除文档时有时会发生变化......
我们还不能更进一步,但也许这可以帮助您走上正轨。
在正式开始之前让我提一下:Alfresco 实现 Solr which uses Lucene 索引,因此我不会直接在 Alfresco 上管理 Lucene 索引。相反,通过 Alfresco 提供的 Solr 工具管理您的索引。
我也发现 Lucene/Solr 索引在这个版本的 Alfresco (4.2.0) 中倾向于 "drift"。在多次寻求 Alfresco 支持后,我们没有找到可靠的根本原因;他们说 可能 归因于我们所做的 "certain customizations",但他们没有比这更具体。
因此,虽然我们尚未找到解决方案,但我们已采取积极措施来缓解该问题。
有一份我们每天检查的 Solr 报告 (https://your-alfresco-server.com:8443/solr/report/)。在此报告中,有一个标记为 "Count of transactions in the index but not the DB" 的值(根据我的经验,这是一个非常具有误导性的标签)。这个值越高,我们的索引似乎就越不同步,因此随着它的攀升,我们将在没有人受到影响的时候安排重新索引。
Alfresco 服务器公开了一些服务来修复和重新索引 Solr。 (完全披露:我没有发现它们非常有效,但它们是 Alfresco Support 推荐的)。
Solr re-index service:
http://your-alfresco-server.com:8080/solr/admin/cores?action=REINDEX&txid=
Solr "Fix" service:
http://your-alfresco-server.com:8080/solr/admin/cores?action=FIX
- 清除过时的内容可以减少重新编制索引的时间(这包括传输报告等,Alfresco 生成的这些报告往往会累积,但至少在我的情况下并不重要)。
不幸的是,真正的解决方案通常归结为按计划轮流重新编制索引以最大限度地减少停机时间。
我在 REDHAT 7 服务器上 运行 alfresco 4.2。所以我必须处理 Lucene 2.4。 我正在处理的问题是 Lucene 索引越来越频繁地被损坏。每次发生这种情况时,回购都会关闭。和一个完整的重新索引,使服务器再次启动。
我需要帮助以了解更多有关导致索引损坏的原因。以及如何处理(重建索引需要很多时间)
我们也在使用 Lucene,尽管它不在 Alfresco 中。 从我们所看到的情况来看,我们遇到了一个问题,即 Lucene 给每个文档的唯一 ID 实际上在向索引添加或删除文档时有时会发生变化...... 我们还不能更进一步,但也许这可以帮助您走上正轨。
在正式开始之前让我提一下:Alfresco 实现 Solr which uses Lucene 索引,因此我不会直接在 Alfresco 上管理 Lucene 索引。相反,通过 Alfresco 提供的 Solr 工具管理您的索引。
我也发现 Lucene/Solr 索引在这个版本的 Alfresco (4.2.0) 中倾向于 "drift"。在多次寻求 Alfresco 支持后,我们没有找到可靠的根本原因;他们说 可能 归因于我们所做的 "certain customizations",但他们没有比这更具体。
因此,虽然我们尚未找到解决方案,但我们已采取积极措施来缓解该问题。
有一份我们每天检查的 Solr 报告 (https://your-alfresco-server.com:8443/solr/report/)。在此报告中,有一个标记为 "Count of transactions in the index but not the DB" 的值(根据我的经验,这是一个非常具有误导性的标签)。这个值越高,我们的索引似乎就越不同步,因此随着它的攀升,我们将在没有人受到影响的时候安排重新索引。
Alfresco 服务器公开了一些服务来修复和重新索引 Solr。 (完全披露:我没有发现它们非常有效,但它们是 Alfresco Support 推荐的)。
Solr re-index service: http://your-alfresco-server.com:8080/solr/admin/cores?action=REINDEX&txid=
Solr "Fix" service: http://your-alfresco-server.com:8080/solr/admin/cores?action=FIX
- 清除过时的内容可以减少重新编制索引的时间(这包括传输报告等,Alfresco 生成的这些报告往往会累积,但至少在我的情况下并不重要)。
不幸的是,真正的解决方案通常归结为按计划轮流重新编制索引以最大限度地减少停机时间。