我尝试使用ModifiableSolrParams通过java执行导入:
请您指出正确的方向或如何添加安全凭据(用户名/密码)以引发导入。
当前代码
SolrServer server = new HttpSolrServer(baseurl);
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("command", "full-import");
params.set("clean", "true");
params.set("commit", "true");
QueryRequest request = new QueryRequest(params);
request.setPath("/dataimport");
server.request(request);
答案 0 :(得分:1)
您需要将HttpRequestInterceptor添加到HttpServer。此拦截器将能够为您的每个请求添加授权标头。
对于云Solr,允许执行此操作的util类是HttpClientUtil。你可以从这个类开始,或者检查HttpSolrServer中实际存在HttpClient的位置。
答案 1 :(得分:1)
我偏离了Solrj,转而采用这种方法。
HttpClient Client = new DefaultHttpClient();
String userpass = usr + ":" + pwd;
HttpPost httpGet = new HttpPost(dataimport_cmd);
String encoding =
DatatypeConverter.printBase64Binary(userpass.getBytes("UTF-8"));
httpGet.setHeader("Authorization", "Basic " + encoding);
Client.execute(httpGet);