/** * Sets whether the specified doc parameter should be used as upsert document. */ public UpdateRequestBuilder setDocAsUpsert(boolean shouldUpsertDoc) { request.docAsUpsert(shouldUpsertDoc); return this; }
private UpdateRequest prepareUpdate(UpdateQuery query) { String indexName = hasText(query.getIndexName()) ? query.getIndexName() : getPersistentEntityFor(query.getClazz()).getIndexName(); String type = hasText(query.getType()) ? query.getType() : getPersistentEntityFor(query.getClazz()).getIndexType(); Assert.notNull(indexName, "No index defined for Query"); Assert.notNull(type, "No type define for Query"); Assert.notNull(query.getId(), "No Id define for Query"); Assert.notNull(query.getUpdateRequest(), "No IndexRequest define for Query"); UpdateRequest updateRequest = new UpdateRequest(indexName, type, query.getId()); updateRequest.routing(query.getUpdateRequest().routing()); if (query.getUpdateRequest().script() == null) { // doc if (query.DoUpsert()) { updateRequest.docAsUpsert(true).doc(query.getUpdateRequest().doc()); } else { updateRequest.doc(query.getUpdateRequest().doc()); } } else { // or script updateRequest.script(query.getUpdateRequest().script()); } return updateRequest; }
parameters.withRefreshPolicy(updateRequest.getRefreshPolicy()); parameters.withWaitForActiveShards(updateRequest.waitForActiveShards()); parameters.withDocAsUpsert(updateRequest.docAsUpsert()); parameters.withFetchSourceContext(updateRequest.fetchSource()); parameters.withRetryOnConflict(updateRequest.retryOnConflict());
/** * Retrieves the {@link IndexRequest} from the provided {@link DocWriteRequest} for index or upsert actions. Upserts are * modeled as {@link IndexRequest} inside the {@link UpdateRequest}. Ignores {@link org.elasticsearch.action.delete.DeleteRequest}'s * * @param docWriteRequest The request to find the {@link IndexRequest} * @return the found {@link IndexRequest} or {@code null} if one can not be found. */ public static IndexRequest getIndexWriteRequest(DocWriteRequest docWriteRequest) { IndexRequest indexRequest = null; if (docWriteRequest instanceof IndexRequest) { indexRequest = (IndexRequest) docWriteRequest; } else if (docWriteRequest instanceof UpdateRequest) { UpdateRequest updateRequest = (UpdateRequest) docWriteRequest; indexRequest = updateRequest.docAsUpsert() ? updateRequest.doc() : updateRequest.upsertRequest(); } return indexRequest; }
safeDoc().source(docBuilder); } else if ("doc_as_upsert".equals(currentFieldName)) { docAsUpsert(parser.booleanValue()); } else if ("detect_noop".equals(currentFieldName)) { detectNoop(parser.booleanValue());
/** * Sets whether the specified doc parameter should be used as upsert document. */ public UpdateRequestBuilder setDocAsUpsert(boolean shouldUpsertDoc) { request.docAsUpsert(shouldUpsertDoc); return this; }
/** * Sets whether the specified doc parameter should be used as upsert document. */ public UpdateRequestBuilder setDocAsUpsert(boolean shouldUpsertDoc) { request.docAsUpsert(shouldUpsertDoc); return this; }
/** * Sets whether the specified doc parameter should be used as upsert document. */ public UpdateRequestBuilder setDocAsUpsert(boolean shouldUpsertDoc) { request.docAsUpsert(shouldUpsertDoc); return this; }
/** * Sets whether the specified doc parameter should be used as upsert document. */ public UpdateRequestBuilder setDocAsUpsert(boolean shouldUpsertDoc) { request.docAsUpsert(shouldUpsertDoc); return this; }
if (request.upsertRequest() == null && !request.docAsUpsert()) { throw new DocumentMissingException(shardId, request.type(), request.id()); IndexRequest indexRequest = request.docAsUpsert() ? request.doc() : request.upsertRequest(); if (request.scriptedUpsert() && request.script() != null) {
updateRequest.waitForActiveShards(ActiveShardCount.parseString(waitForActiveShards)); updateRequest.docAsUpsert(request.paramAsBoolean("doc_as_upsert", updateRequest.docAsUpsert())); FetchSourceContext fetchSourceContext = FetchSourceContext.parseFromRestRequest(request); String sField = request.param("fields");
@Override public UpdateResponse upsertIndex(String index, String type, String id, Object source) throws Exception { UpdateRequest request = new UpdateRequest(index, type, id).docAsUpsert(true).doc(JSON.toJSONString(source), XContentType.JSON); log.debug(request.toString()); return client().update(request); }
} else if (actionRequest instanceof UpdateRequest) { UpdateRequest updateRequest = (UpdateRequest) actionRequest; indexRequest = updateRequest.docAsUpsert() ? updateRequest.doc() : updateRequest.upsertRequest();
@Override public BulkResponse upsertIndex(List<IndexBuilder> batch) throws Exception { BulkRequest request = new BulkRequest(); Optional.ofNullable(batch).orElseThrow(NullPointerException::new).forEach(x ->{ request.add(new UpdateRequest(x.getIndex(), x.getType(), x.getId()).docAsUpsert(true).doc(JSON.toJSONString(x.getSource()), XContentType.JSON)); }); log.debug(request.getDescription()); return client().bulk(request); }
UpdateRequest ur = new UpdateRequest(index, type, id); ur.doc(values); ur.docAsUpsert(true); req = ur; break;
@Override protected void doRun() throws Exception { for (DocWriteRequest actionRequest : actionRequests) { IndexRequest indexRequest = null; if (actionRequest instanceof IndexRequest) { indexRequest = (IndexRequest) actionRequest; } else if (actionRequest instanceof UpdateRequest) { UpdateRequest updateRequest = (UpdateRequest) actionRequest; indexRequest = updateRequest.docAsUpsert() ? updateRequest.doc() : updateRequest.upsertRequest(); } if (indexRequest != null && Strings.hasText(indexRequest.getPipeline())) { try { innerExecute(indexRequest, getPipeline(indexRequest.getPipeline())); //this shouldn't be needed here but we do it for consistency with index api // which requires it to prevent double execution indexRequest.setPipeline(null); } catch (Exception e) { itemFailureHandler.accept(indexRequest, e); } } } completionHandler.accept(null); } });
public void updateElement(Element element, String index, String routing, boolean upsert) throws ExecutionException, InterruptedException { UpdateRequest updateRequest = new UpdateRequest(index, element.label(), element.id().toString()) .doc(propertiesMap(element)).routing(routing); if(upsert) updateRequest.detectNoop(true).docAsUpsert(true); if(bulkRequest != null) bulkRequest.add(updateRequest); else client.update(updateRequest).actionGet(); revision++; }
public void addElementToBulkRequest(Graph graph, BulkRequest bulkRequest, IndexInfo indexInfo, Element element, Authorizations authorizations) { try { XContentBuilder json = buildJsonContentFromElement(graph, element, authorizations); UpdateRequest indexRequest = new UpdateRequest(indexInfo.getIndexName(), ELEMENT_TYPE, element.getId()).doc(json); indexRequest.retryOnConflict(MAX_RETRIES); indexRequest.docAsUpsert(true); bulkRequest.add(indexRequest); } catch (IOException ex) { throw new VertexiumException("Could not add element to bulk request", ex); } }
public void addElementToBulkRequest(Graph graph, BulkRequest bulkRequest, IndexInfo indexInfo, Element element, Authorizations authorizations) { try { XContentBuilder json = buildJsonContentFromElement(graph, element, authorizations); UpdateRequest indexRequest = new UpdateRequest(indexInfo.getIndexName(), ELEMENT_TYPE, element.getId()).doc(json); indexRequest.retryOnConflict(MAX_RETRIES); indexRequest.docAsUpsert(true); bulkRequest.add(indexRequest); } catch (IOException ex) { throw new VertexiumException("Could not add element to bulk request", ex); } }
parameters.withRefreshPolicy(updateRequest.getRefreshPolicy()); parameters.withWaitForActiveShards(updateRequest.waitForActiveShards(), ActiveShardCount.DEFAULT); parameters.withDocAsUpsert(updateRequest.docAsUpsert()); parameters.withFetchSourceContext(updateRequest.fetchSource()); parameters.withRetryOnConflict(updateRequest.retryOnConflict());