private void index(boolean isSolrCloud, String collection, Long commitWithin, String contentStreamPath, MultiMapSolrParams requestParams, List<SolrInputDocument> inputDocumentList) throws IOException, SolrServerException,SolrException { UpdateRequest request = new UpdateRequest(contentStreamPath); request.setParams(new ModifiableSolrParams()); // add the extra params, don't use 'set' in case of repeating params Iterator<String> paramNames = requestParams.getParameterNamesIterator(); while (paramNames.hasNext()) { String paramName = paramNames.next(); for (String paramValue : requestParams.getParams(paramName)) { request.getParams().add(paramName, paramValue); } } // specify the collection for SolrCloud if (isSolrCloud) { request.setParam(COLLECTION_PARAM_NAME, collection); } if (commitWithin != null && commitWithin > 0) { request.setParam(COMMIT_WITHIN_PARAM_NAME, commitWithin.toString()); } // if a username and password were provided then pass them for basic auth if (isBasicAuthEnabled()) { request.setBasicAuthCredentials(getUsername(), getPassword()); } request.add(inputDocumentList); UpdateResponse response = request.process(getSolrClient()); getLogger().debug("Got {} response from Solr", new Object[]{response.getStatus()}); inputDocumentList.clear(); }
private boolean canCreateCollections(String host) throws Exception { UpdateRequest req = new UpdateRequest("/admin/collections"); req.setParam("action", "CREATE"); String solrCollection = "solr_" + System.nanoTime(); req.setParam("name", solrCollection); req.setParam("numShards", "2"); req.setParam("replicationFactor", "2"); req.setParam("collection.configName", "myconf"); CloudSolrClient cloudSolrServer = new CloudSolrClient(host); cloudSolrServer.setZkConnectTimeout(1000); NamedList<Object> request = cloudSolrServer.request(req); return request != null && request.get("success") != null; }
private void index(boolean isSolrCloud, String collection, Long commitWithin, String contentStreamPath, MultiMapSolrParams requestParams, List<SolrInputDocument> inputDocumentList) throws IOException, SolrServerException,SolrException { UpdateRequest request = new UpdateRequest(contentStreamPath); request.setParams(new ModifiableSolrParams()); // add the extra params, don't use 'set' in case of repeating params Iterator<String> paramNames = requestParams.getParameterNamesIterator(); while (paramNames.hasNext()) { String paramName = paramNames.next(); for (String paramValue : requestParams.getParams(paramName)) { request.getParams().add(paramName, paramValue); } } // specify the collection for SolrCloud if (isSolrCloud) { request.setParam(COLLECTION_PARAM_NAME, collection); } if (commitWithin != null && commitWithin > 0) { request.setParam(COMMIT_WITHIN_PARAM_NAME, commitWithin.toString()); } // if a username and password were provided then pass them for basic auth if (isBasicAuthEnabled()) { request.setBasicAuthCredentials(getUsername(), getPassword()); } request.add(inputDocumentList); UpdateResponse response = request.process(getSolrClient()); getLogger().debug("Got {} response from Solr", new Object[]{response.getStatus()}); inputDocumentList.clear(); }
private void persistCheckpoints() throws IOException{ if (cloudSolrClient == null) { return; } UpdateRequest request = new UpdateRequest(); request.setParam("collection", checkpointCollection); SolrInputDocument doc = new SolrInputDocument(); doc.addField(ID, id); for(Map.Entry<String, Long> entry : checkpoints.entrySet()) { doc.addField("checkpoint_ss", entry.getKey()+"~"+entry.getValue()); } request.add(doc); try { cloudSolrClient.request(request); } catch (Exception e) { throw new IOException(e); } }
UpdateRequest req = new UpdateRequest(); req.deleteById(deleteId); req.setParam("CONTROL", "TRUE"); req.process(controlClient);
if (entry.getKey().startsWith(SolrConstants.PARAM)) { String paramName = entry.getKey().substring(SolrConstants.PARAM.length()); updateRequest.setParam(paramName, entry.getValue().toString()); if (entry.getKey().startsWith(SolrConstants.PARAM)) { String paramName = entry.getKey().substring(SolrConstants.PARAM.length()); updateRequest.setParam(paramName, entry.getValue().toString());
protected void indexDocs(List<SolrInputDocument> docs) throws IOException, SolrServerException { if (controlClient != null) { UpdateRequest req = new UpdateRequest(); req.add(docs); req.setParam("CONTROL", "TRUE"); req.process(controlClient); } UpdateRequest ureq = new UpdateRequest(); ureq.add(docs); ureq.process(cloudClient); }
@Override protected void indexDoc(SolrInputDocument doc) throws IOException, SolrServerException { UpdateRequest req = new UpdateRequest(); req.add(doc); req.setParam("CONTROL", "TRUE"); req.process(controlClient); // if we wanted to randomly pick a client - but sometimes they may be // down... // boolean pick = random.nextBoolean(); // // int which = (doc.getField(id).toString().hashCode() & 0x7fffffff) % // sliceCount; // // if (pick && sliceCount > 1) { // which = which + ((shardCount / sliceCount) * // random.nextInt(sliceCount-1)); // } // // HttpSolrServer client = (HttpSolrServer) // clients.get(which); UpdateRequest ureq = new UpdateRequest(); ureq.add(doc); // ureq.setParam(UpdateParams.UPDATE_CHAIN, DISTRIB_UPDATE_CHAIN); ureq.process(cloudClient); }