2016-09-21 72 views
0

所以我有一个使用动物园管理员部署的三节点集群。并成功创建了test集合(3个分片)。然后之后我已经SolrCloud在生产 - 查询q = *给numFound = 0

curl -X POST -H 'Content-Type: application/json' 'ec2FirstNodeIP:8983/solr/test/update' --data-binary ' [ { "f1" : "1", "f2" : "2", "f3" : "3" } ]'

{"responseHeader":{"status":0,"QTime":38} ...

然而,当我有curl "sameIP:8983/solr/test/select?wt=json&indent=true&q=*:*"

我越来越 NumFound:0

但是使用管理界面进行更新的文件,查询现在返回文档 image for admin UI

我错过了什么?

回答

0

要使文档可搜索,我们应该提交。使用承诺=真

ec2FirstNodeIP:8983/solr/test/update?commit=true这应该工作。

+0

它的工作!我不必在本地主机版本中添加任何'commit = true'。你能描述发生了什么吗?如果你能给出一个文档链接来谈论这件事,那将是非常棒的。 – alaayach

+0

检查提交部分。 https://cwiki.apache.org/confluence/display/solr/UpdateHandlers+in+SolrConfig你的solr实例可能有一个默认的自动commit/softcommit。在这段时间过后,你的文件就会出现。 – jay

+0

你是否重新启动solr?如果是。 solr会调用autocommit。使每个文档都可以搜索,我们必须在索引它之后进行提交。重新启动后,它会调用在solrconfig.xml中配置的autocommit,以便它能够正常工作。 – vinod