在 SOLR 中创建分片
creating shard in SOLR
我是 Apache Solr 的新手。我创建了一个名为 testCollection 的新 Collection。这个 collection 是通过 solr 管理控制台创建的,它的路由器类型是隐式的。我正在使用下面的代码为上面的 collection
创建一个新的分片
SolrServer solr = new HttpSolrServer("http://localhost:8983/solr/testCollection");
UpdateRequest request = new UpdateRequest();
request.setPath("http://localhost:8983/solr/testCollection");
request.setMethod(METHOD.GET);
request.setParam("action", "CREATESHARD");
request.setParam("collection", "testCollection");
request.setParam("shard", "latestShard");
solr.request(request);
solr.commit();
在执行上面的代码时我没有得到任何异常,但是没有创建新的分片。我正在使用 solr 6.1。虽然这个问题看起来可能与 Solr 4 - adding shard 重复,但没有可用的代码片段,也没有提到如何使用 SolrJ 来实现这个问题。任何帮助将不胜感激。
此致,
安库尔
你用错了api。
UpdateRequest 用于对索引数据(adding/deleting 文档等)执行操作,而不是用于管理集合的设置方式,例如创建分片,您需要使用 this
仅当集合的大小增长到对节点而言太大时才创建分片,因此拆分集合并添加分片,最后将分片重新定位到不同的节点上。
虽然可能,但我想不出在 Java 中执行此操作的情况是个好主意。
这比编写 http 请求并将其放入浏览器要复杂得多。
http://localhost:8983/solr/admin/collections?action=CREATESHARD&collection=testCollection&shard=shard2
我是 Apache Solr 的新手。我创建了一个名为 testCollection 的新 Collection。这个 collection 是通过 solr 管理控制台创建的,它的路由器类型是隐式的。我正在使用下面的代码为上面的 collection
创建一个新的分片SolrServer solr = new HttpSolrServer("http://localhost:8983/solr/testCollection");
UpdateRequest request = new UpdateRequest();
request.setPath("http://localhost:8983/solr/testCollection");
request.setMethod(METHOD.GET);
request.setParam("action", "CREATESHARD");
request.setParam("collection", "testCollection");
request.setParam("shard", "latestShard");
solr.request(request);
solr.commit();
在执行上面的代码时我没有得到任何异常,但是没有创建新的分片。我正在使用 solr 6.1。虽然这个问题看起来可能与 Solr 4 - adding shard 重复,但没有可用的代码片段,也没有提到如何使用 SolrJ 来实现这个问题。任何帮助将不胜感激。
此致, 安库尔
你用错了api。
UpdateRequest 用于对索引数据(adding/deleting 文档等)执行操作,而不是用于管理集合的设置方式,例如创建分片,您需要使用 this
仅当集合的大小增长到对节点而言太大时才创建分片,因此拆分集合并添加分片,最后将分片重新定位到不同的节点上。
虽然可能,但我想不出在 Java 中执行此操作的情况是个好主意。
这比编写 http 请求并将其放入浏览器要复杂得多。
http://localhost:8983/solr/admin/collections?action=CREATESHARD&collection=testCollection&shard=shard2