@Override public SolrRequest toSolrRequest(List<? extends ITuple> tuples) throws SolrMapperException { List<SolrInputDocument> docs = new LinkedList<>(); for (ITuple tuple : tuples) { docs.add(buildDocument(tuple)); } UpdateRequest request = new UpdateRequest(); request.add(docs); log.debug("Created SolrRequest with content: {}", docs); return request; }
@Override public SolrRequest toSolrRequest(ITuple tuple) throws SolrMapperException { SolrInputDocument doc = buildDocument(tuple); UpdateRequest request = new UpdateRequest(); request.add(doc); log.debug("Created SolrRequest with content: {}", doc); return request; }
private void commitDocumentChanges(String collectionName, Collection<SolrInputDocument> documents) throws SolrServerException, IOException { if (documents.size() == 0) return; try { solrClient.request(newUpdateRequest().add(documents), collectionName); } catch (HttpSolrClient.RemoteSolrException rse) { logger.error("Unable to save documents to Solr as one of the shape objects stored were not compatible with Solr.", rse); logger.error("Details in failed document batch: "); for (SolrInputDocument d : documents) { Collection<String> fieldNames = d.getFieldNames(); for (String name : fieldNames) { logger.error(name + ":" + d.getFieldValue(name).toString()); } } throw rse; } }
private void deleteIndividualFieldsFromIndex(String collectionName, String keyIdField, String docId, HashSet<IndexEntry> fieldDeletions) throws SolrServerException, IOException { if (fieldDeletions.isEmpty()) return; Map<String, String> fieldDeletes = new HashMap<String, String>(1) {{ put("set", null); }}; SolrInputDocument doc = new SolrInputDocument(); doc.addField(keyIdField, docId); StringBuilder sb = new StringBuilder(); for (IndexEntry fieldToDelete : fieldDeletions) { doc.addField(fieldToDelete.field, fieldDeletes); sb.append(fieldToDelete).append(","); } if (logger.isTraceEnabled()) logger.trace("Deleting individual fields [{}] for document {}", sb.toString(), docId); UpdateRequest singleDocument = newUpdateRequest(); singleDocument.add(doc); solrClient.request(singleDocument, collectionName); }
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(); }
/** * Add a SolrInputDocument to this request * @param doc the document * @param overwrite true if the document should overwrite existing docs with the same id * @throws NullPointerException if the document is null */ public UpdateRequest add(final SolrInputDocument doc, Boolean overwrite) { return add(doc, null, overwrite); }
/** * Add a SolrInputDocument to this request * @param doc the document * @param commitWithin the time horizon by which the document should be committed (in ms) * @throws NullPointerException if the document is null */ public UpdateRequest add(final SolrInputDocument doc, Integer commitWithin) { return add(doc, commitWithin, null); }
public UpdateRequest add(final SolrInputDocument doc, Boolean overwrite) { return add(doc, null, overwrite); }
public UpdateRequest add(final SolrInputDocument doc, Integer commitWithin) { return add(doc, commitWithin, null); }
public UpdateRequest add(String... fields) { return add(new SolrInputDocument(fields)); }
@Override public SolrRequest toSolrRequest(List<? extends ITuple> tuples) throws SolrMapperException { List<SolrInputDocument> docs = new LinkedList<>(); for (ITuple tuple : tuples) { docs.add(buildDocument(tuple)); } UpdateRequest request = new UpdateRequest(); request.add(docs); log.debug("Created SolrRequest with content: {}", docs); return request; }
@Override public SolrRequest toSolrRequest(ITuple tuple) throws SolrMapperException { SolrInputDocument doc = buildDocument(tuple); UpdateRequest request = new UpdateRequest(); request.add(doc); log.debug("Created SolrRequest with content: {}", doc); return request; }
public UpdateResponse add(Collection<SolrInputDocument> docs ) throws SolrServerException, IOException { UpdateRequest req = new UpdateRequest(); req.add(docs); return req.process(this); }
public UpdateResponse add(SolrInputDocument doc ) throws SolrServerException, IOException { UpdateRequest req = new UpdateRequest(); req.add(doc); return req.process(this); }
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); }
protected UpdateResponse add(SolrClient client, SolrParams params, SolrInputDocument... sdocs) throws IOException, SolrServerException { UpdateRequest ureq = new UpdateRequest(); ureq.setParams(new ModifiableSolrParams(params)); for (SolrInputDocument sdoc : sdocs) { ureq.add(sdoc); } return ureq.process(client); }
protected void index_specific(SolrClient client, Object... fields) throws Exception { SolrInputDocument doc = new SolrInputDocument(); for (int i = 0; i < fields.length; i += 2) { doc.addField((String) (fields[i]), fields[i + 1]); } UpdateRequest ureq = new UpdateRequest(); ureq.add(doc); // ureq.setParam("update.chain", DISTRIB_UPDATE_CHAIN); ureq.process(client); // add to control second in case adding to shards fails controlClient.add(doc); }
/** Inserts the given number of test documents into Solr. */ static void insertTestDocuments(String collection, long numDocs, AuthorizedSolrClient client) throws IOException { List<SolrInputDocument> data = createDocuments(numDocs); try { UpdateRequest updateRequest = new UpdateRequest(); updateRequest.setAction(UpdateRequest.ACTION.COMMIT, true, true); updateRequest.add(data); client.process(collection, updateRequest); } catch (SolrServerException e) { throw new IOException("Failed to insert test documents to collection", e); } }
/** * Add a document. */ public void add(final SolrInputDocument doc) throws SolrServerException, IOException { final UpdateRequest request = new UpdateRequest(); request.add(doc); request.process(this.getServer()); }
/** * Add a document. */ public void add(final SolrInputDocument doc) throws SolrServerException, IOException { final UpdateRequest request = new UpdateRequest(); request.add(doc); request.process(this.getServer()); }