在Alfresco中配置Solr - alfresco.lag属性的含义?

时间:2012-10-21 13:49:32

标签: solr alfresco

我最近注意到由于Alfresco中Solr索引的最终一致性而导致的问题。问题是文件没有出现在上传文件后立即执行的搜索中。我一直在查看配置属性,看看我是否可以提高性能(减少延迟)。

看起来更改alfresco.cron属性会有所帮助,因此Solr会更频繁地检查存储库更新,而不是默认的15秒alfresco.cron=0/15 * * * * ? *

但是,我不清楚alfresco.lag=1000属性的作用或目的是什么。 Alfresco wiki说:

  

每个“轨道”将一直运行到它开始的时间 - 减少这个滞后

这对我来说毫无意义 - 什么是“轨道”,以及如何运行直到它开始?

Alfresco 4.1 docsthis article说:

  

这指定跟踪器属性来设置时间(以秒为单位)   Solr全文索引目前位于存储库更新之后。

  

Solr索引在后台更新。这是时间(在   这个Solr索引目前落后于存储库更新。

但我不是更聪明 - 这是否意味着Solr可以在存储库后面1000秒(由于cron间隔加上15秒)?这似乎是巨大的延迟,如果是这样的话 - 我希望最多几秒钟。

调整alfresco.lag的实际效果是什么(如果我大大减少或将其设置为零会发生什么情况)? Alfresco文档中的示例值为0秒,但配置文件中的默认值为1000 - 调整此属性的权衡是什么?

更新:我怀疑单位记录错误,实际上是毫秒而不是秒,因为org.alfresco.solr.tracker.CoreTracker具有以下代码:

    long startTime = System.currentTimeMillis();
    state.timeToStopIndexing = startTime - lag;

1 个答案:

答案 0 :(得分:1)

afaik alfresco.lag = 1000意味着Solr Tracker将尝试索引至少一秒前已提交的所有交易。 我想设置为0可能会产生一些副作用,例如如果您的SOLR在不同的机器上运行&时间服务不是100%同步。