Solr tlog非常大,提交后不与索引合并



我正在对solr 5.0集合进行批量索引操作,该集合现在有大约200万个文档。我注意到tlog正在建立,并且没有被删除,此外,索引性能变得非常慢。我想知道为什么tlog没有被删除。这就是数据目录的样子:

du -sh *
4.0K    data
69G     index
109G    tlog

我尝试过多种变体:

update?commit=true&expungeDeletes=true&openSearcher=true

我在日志文件中看到Solr正在提取它,但没有任何更改。

solrconfig中的提交设置为:

 <autoCommit>
   <maxTime>15000</maxTime>
       <maxDocs>1500000</maxDocs>
   <openSearcher>false</openSearcher>
 </autoCommit>
 <autoSoftCommit>
   <maxTime>900000</maxTime>
    <maxDocs>2000000</maxDocs>
 </autoSoftCommit>

需要记住的一件事是,我在索引过程中对软提交进行了注释。此外,这些值非常高,因为这是一个相对索引密集的集合,具有非常可控的查询,所以提交策略非常宽松。

我重新启动了Solr,自然它需要很长时间才能启动,因为它正在重播tlog,不确定一旦完全启动,它是否会清除它。现在,我的印象是Solr保留了一些tlog,以防它需要将数据复制到另一个集合,但这是一个独立的实例,并不是真正必要的。此外,由于它比索引文件夹大,我假设还有一些项目尚未提交到主索引。是这样吗?

知道这里发生了什么吗?

所以我想我应该传递一个更新,尽管它有点晚了。

我重新启动了Solr实例,由于必须重播tlog,启动自然需要大约4个小时。然后,它们在提交后被清除。

最新更新