SOLR中的软提交和硬提交

SOLR中的软提交和硬提交,solr,Solr,这是solr core中软提交和硬提交的默认配置 <autoCommit> <maxTime>${solr.autoCommit.maxTime:15000}</maxTime> <openSearcher>false</openSearcher> </autoCommit> <autoSoftCommit> <maxTime>

这是solr core中软提交和硬提交的默认配置

<autoCommit> 
       <maxTime>${solr.autoCommit.maxTime:15000}</maxTime> 
       <openSearcher>false</openSearcher> 
     </autoCommit>


     <autoSoftCommit> 
       <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime> 
     </autoSoftCommit>

${solr.autoCommit.maxTime:15000}
假的
${solr.autoSoftCommit.maxTime:-1}
现在,我的理解是,如果我注释掉软提交部分,那么近实时搜索应该不起作用。但事实并非如此。即使我注释掉软提交部分,我也能够在一秒钟内检索到文档。
另外,变量solr.autoSoftCommit.maxTime和solr.autoCommit.maxTime的值设置在哪里?

注释掉这些行后,您应该重新加载核心或重新启动solr。这样,只有硬提交才会发生(注意,如果您只有很少的文档,硬提交会非常快)

关于另一个问题:这些是系统属性,即可以在命令行中指定的属性。例如,如果您像这样运行Solr:

java-Dparam1=3

在solrconfig.xml中,您可以使用


${param1}以获取该属性的值。Solr还允许您指定默认值(代码段中的15000和-1),以防未设置此类参数

您是通过查询还是通过实时获取处理程序检索文档?软提交(或opensearcher=true的硬提交)使文档在搜索中可见,但当使用实时获取处理程序时,只要启用了更新日志(默认情况下处于打开状态),您始终可以通过文档的唯一ID获取文档

我使用的是select处理程序来查询结果,而不是实时get处理程序。您如何编制索引、xml post或dataimporthandler?你用的是commitwithin还是类似的东西?是否有新文档或更新?你是如何测试文档在一秒钟内是否可见的?我有大约100条Json格式的记录,我通过post.jar对其进行索引。索引后,如果我查询记录,我能够获取它,最可能的原因是post.jar提交了结果。您应该使用curl索引一个文档,并测试它是否可见。