Solr不一致的结果计数

Rah*_*rma 11 lucene solr

我有四个节点solrcloud安装版本4.10和我的集合有4个分片,2个副本.我的应用程序提供实时数据摄取的搜索功能,数据摄取和搜索过程并行运行.

每天数据加载大约2~3MM记录(插入/更新操作),总文件数为80MM +.

我们面临的问题是solr在数据摄取的高峰时间内返回非常不一致的记录计数.

示例查询:

for i in `seq 1 50`;
do
       curl 'http://localhost:8888/solr/OPTUM/select?q=*:*&wt=json&indent=true'|grep numFound|rev|cut -d'{' -f1 |rev
done
Run Code Online (Sandbox Code Playgroud)

响应numfound变量显示有时非常少的文档计数然后实际存在于solr中.

请建议我是否需要进行任何配置更改以获得一致的计数.

Rah*_*rma 0

我还没有找到这个问题的根本原因,但我暂时做了一些解决办法来解决这个错误。
我一直在使用 solrj4.x softcommit 方法(UpdateRequest.setCommitWithin( commitWithinMs )),我对此进行了评论并在 solr 端使用了所有提交策略。

    <autoCommit>
            <maxTime>15000</maxTime>
            <openSearcher>false</openSearcher>
        </autoCommit>
<autoSoftCommit>
            <maxTime>2000</maxTime>
        </autoSoftCommit>
Run Code Online (Sandbox Code Playgroud)

我从 solr 获得一致的结果,但仍然不确定为什么 solrj 客户端提交不起作用。