[英]creating shard in SOLR
我是Apache Solr的新手。 我創建了一個新集合,名為testCollection 。 該集合是通過solr管理控制台創建的,其路由器類型是隱式的。 我正在使用下面的代碼為上面的集合創建一個新的碎片
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的一個重復-添加分片,但沒有代碼片段可用,但是也沒有提及如何使用SolrJ實現此問題。 任何幫助將不勝感激。
問候,安庫爾
您使用的API錯誤。
UpdateRequest用於對索引數據執行操作(添加/刪除文檔等),而不用於管理集合的設置方式,例如,用於創建分片時,您需要使用此方法
僅當集合的大小增長到足以容納某個節點的大小時才創建一個分片,因此拆分該集合以添加一個分片,最后將分片重新放置在其他節點上。
盡管有可能,但我無法想到用Java這樣做是一個好主意。
這比僅組合http請求並將其放入瀏覽器要復雜得多。
http://localhost:8983/solr/admin/collections?action=CREATESHARD&collection=testCollection&shard=shard2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.