我正在使用 SolrJ API 将文档添加到 Solr 4.3 核心,我注意到我在我使用的库存 solrconfig 中将自动提交设置为 15 秒,如下所示。
<autoCommit>
<maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
<openSearcher>false</openSearcher>
</autoCommit>
我的理解是,由于自动提交设置为 true,这意味着 Solr 实例无论如何都会每 15 秒自动提交一次,因此每次我向 Solr 添加文档时,我不需要使用 SolrJ API 显式提交,如下所示,我的理解正确吗?
httpSolrServer.add(doc1);
httpSolrServer.commit();// Is this still needed ?
提前致谢!
如果您定义了自动提交,则不需要显式提交。
但是,在上面的定义中,您已将 openSearcher 设置为 false 以进行(硬)提交。这意味着,Solr 会提交,但会not显示变化。
在示例配置中,它可以工作,因为还有 autoSoftCommit 提交,且 openSearcher 设置为 true(或默认情况下为 true)。这将使更改实际显示出来,但无需进行昂贵的硬提交。
这两个部分结合在一起可以很好地帮助您快速查看结果,然后定期将所有内容保存到磁盘。但请确保您拥有这两个部分,或者在上面的部分中重新打开搜索器。只执行二分之一将导致结果永远不会显示,除非您也在其他地方进行显式提交。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)