首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solr autoCommit不工作

Solr autoCommit不工作
EN

Stack Overflow用户
提问于 2010-09-20 05:11:39
回答 1查看 2.1K关注 0票数 1

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

我使用这个php-client搜索Solr,在从solr获得的其他信息中,总结果被返回到php中的一个变量:

代码语言:javascript
复制
$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所做的工作:

代码语言:javascript
复制
  <autoCommit> 
    <maxDocs>3</maxDocs>
    <maxTime>60000</maxTime> 
  </autoCommit>

数字"3“仅用于测试目的,但并不像上面提到的那样工作。

在使用autoCommit时,除了上面的设置之外,我还应该考虑其他设置吗?

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

如果你需要更多的输入,请让我知道...

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-20 06:28:11

php solr客户端在这里没有做什么特别的事情,numFound就是Solr本身返回的内容。它应该基于查询时提交的文档。

不过,我对你的问题有点迷惑。您是否抱怨看到文档在您期望的情况下被自动提交?如果是这样的话,您应该以与您相反的方式进行测试-增加autoCommit块中的maxDocs数量。我不确定在触发提交之前,solr本身对它所允许的maxDocs有多近做出了什么保证。典型设置为1,000或10,000,具体取决于您的索引特征。然后,时间通常被用作您愿意等待文档显示在索引中的时间的上限。您正在尝试在效率和延迟之间取得平衡。

在任何情况下,了解到底发生了什么的唯一方法是查看Solr的日志-它将包含添加、查询和提交的条目,您可以看到它们彼此之间的距离有多近或有多远,或者代码中是否存在您不知道的显式提交。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3747492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档