Java CloudSolrServer:找不到集合:gettingstarted
我在尝试使用CloudSolrServer在SolrCloud上上载文档时遇到以下异常Java CloudSolrServer:找不到集合:gettingstarted,java,solr,solrj,solrcloud,Java,Solr,Solrj,Solrcloud,我在尝试使用CloudSolrServer在SolrCloud上上载文档时遇到以下异常 Exception in thread "main" org.apache.solr.common.SolrException: Could not find collection : gettingstarted at org.apache.solr.common.cloud.ClusterState.getCollection(ClusterState.java:162) at org.a
Exception in thread "main" org.apache.solr.common.SolrException: Could not find collection : gettingstarted
at org.apache.solr.common.cloud.ClusterState.getCollection(ClusterState.java:162)
at org.apache.solr.client.solrj.impl.CloudSolrServer.directUpdate(CloudSolrServer.java:305)
at org.apache.solr.client.solrj.impl.CloudSolrServer.request(CloudSolrServer.java:533)
at org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:124)
at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:116)
at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:102)
at Test.addDocumentSolrCloud(Test.java:265)
at Test.main(Test.java:284)
集合存在,我可以使用Solr admin进行查询。还可以使用HttpSolrServer(单实例-非云模式)上传文档
我正在使用以下代码段
CloudSolrServer server = new CloudSolrServer("localhost:2181");
server.setDefaultCollection("gettingstarted");
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id", id);
doc.addField("name", name);
server.add(doc);
server.commit();
不知道我错过了什么。我的Zookeeper在同一台机器上运行,两个solr云节点都在这台机器上我能够找出问题所在。事实上,集群/云的配置是正确的,但是SolrJ-4.x不能与solr5.0.0一起使用;特别是CloudSolrAPI;除了云计算,使用HttpSolrServer的其他查询也产生了结果 我切换到SolrJ-5.0.0,并对代码段进行了如下修改:
CloudSolrClient cloudSolrClient = new CloudSolrClient("localhost:2181") ;
cloudSolrClient.setDefaultCollection("gettingstarted");
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id", id);
doc.addField("name", name);
cloudSolrClient.add(doc);
cloudSolrClient.commit();
API已更改/重构
Adnan我忘了提供URL如何使用Solr admin*访问收藏:*