繁体   English   中英

Solr autoCommit不起作用

[英]Solr autoCommit not working

我正在使用Solr-php-client通过php与solr通信。

我使用此php客户端搜索solr,以及从Solr获得的其他信息中,总结果返回到php中的变量:

$results = $solr->search($querystring, $start_offset, $limit, $solr_params);
$num_total = (int) $results->response->numFound;

我的问题是,当我在不提交文档的情况下向Solr添加文档时,无论如何,$ num_total都会增加。 因此,这意味着以下两种情况之一或全部:

1- Solr autoCommit不起作用
2- solr-php-client返回文档的nr而不是已提交文档的nr。

我可能在这里错过了一些简单的事情,所以我将不胜感激。

无论如何,这是我对solrconfig.xml所做的工作:

  <autoCommit> 
    <maxDocs>3</maxDocs>
    <maxTime>60000</maxTime> 
  </autoCommit>

数字“ 3”仅用于测试目的,但如上所述无法正常工作。

使用autoCommit时,除了上述之外,我还有其他设置需要考虑吗?

在更改了solrconfig.xml文件之后,我还重新启动了码头(我的容器)和solr。

如果您需要更多输入,请告诉我...

谢谢

php solr客户端在这里没有做任何特别的事情,numFound正是Solr本身返回的。 在查询时应基于已提交的文档。

我对你的问题有点困惑。 您是否抱怨自己看到的文件是自动提交的,而不是期望的那样? 如果是这样,则应该以与您相反的方式进行测试-增加autoCommit块中的maxDocs数量。 我不确定solr本身能保证在触发提交之前将使maxDocs接近多少。 根据您的索引特征,典型设置为1,000或10,000。 然后,通常将时间用作您愿意等待文档显示在索引中的时间的上限。 您正在尝试在效率和延迟之间取得平衡。

无论如何,您只能通过查看Solr日志来了解正在发生的事情的唯一方法-该日志将包含添加,查询和提交的条目,并且您可以看到相距多远它们是彼此之间的关系,或者是代码中您不知道的明确提交。

如果您可以使用该日志的一部分来更新您的问题,这将有助于您进行诊断。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM