org.elasticsearch.client.Client.prepareUpdate()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(12.5k)|赞(0)|评价(0)|浏览(280)

本文整理了Java中org.elasticsearch.client.Client.prepareUpdate()方法的一些代码示例,展示了Client.prepareUpdate()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Client.prepareUpdate()方法的具体详情如下:
包路径:org.elasticsearch.client.Client
类名称:Client
方法名:prepareUpdate

Client.prepareUpdate介绍

[英]Updates a document based on a script.
[中]基于脚本更新文档。

代码示例

代码示例来源:origin: apache/nifi

@Override
  public void process(final InputStream in) throws IOException {
    String json = IOUtils.toString(in, charset)
        .replace("\r\n", " ").replace('\n', ' ').replace('\r', ' ');
    if (indexOp.equalsIgnoreCase("index")) {
      bulk.add(esClient.get().prepareIndex(index, docType, id)
          .setSource(json.getBytes(charset)));
    } else if (indexOp.equalsIgnoreCase("upsert")) {
      bulk.add(esClient.get().prepareUpdate(index, docType, id)
          .setDoc(json.getBytes(charset))
          .setDocAsUpsert(true));
    } else if (indexOp.equalsIgnoreCase("update")) {
      bulk.add(esClient.get().prepareUpdate(index, docType, id)
          .setDoc(json.getBytes(charset)));
    } else {
      throw new IOException("Index operation: " + indexOp + " not supported.");
    }
  }
});

代码示例来源:origin: thinkaurelius/titan

} else {
  String script = getDeletionScript(informations, storename, mutation);
  brb.add(client.prepareUpdate(indexName, storename, docid).setScript(script, ScriptService.ScriptType.INLINE));
  log.trace("Adding script {}", script);
  UpdateRequestBuilder update = client.prepareUpdate(indexName, storename, docid).setScript(script, ScriptService.ScriptType.INLINE);
  if (needUpsert) {
    XContentBuilder doc = getNewDocument(mutation.getAdditions(), informations.get(storename), ttl);

代码示例来源:origin: komoot/photon

public void update(PhotonDoc doc) {
  try {
    this.bulkRequest.add(this.esClient.prepareUpdate("photon", "place", String.valueOf(doc.getPlaceId())).setDoc(Utils.convert(doc, this.languages)));
  } catch (IOException e) {
    log.error(String.format("update of new doc [%s] failed", doc), e);
  }
}

代码示例来源:origin: yacy/yacy_grid_mcp

.prepareUpdate(indexName, typeName, id)
.setDoc(jsonMap)
.setUpsert(jsonMap)

代码示例来源:origin: 2shou/HBaseObserver

private static void test() {
  for (int i = 0; i < 10; i++) {
    Map<String, Object> json = new HashMap<String, Object>();
    json.put("field", "test");
    addUpdateBuilderToBulk(client.prepareUpdate(Config.indexName, Config.typeName, String.valueOf(i)).setUpsert(json));
  }
  System.out.println(bulkRequestBuilder.numberOfActions());
}

代码示例来源:origin: com.blossom-project/blossom-core-common

private UpdateRequestBuilder prepareIndexRequest(String indexName, DTO dto)
 throws JsonProcessingException {
 Map<String, Object> json = prepareDocument(dto);
 return this.client
  .prepareUpdate(indexName, this.configuration.getTypeFunction().apply(dto),
   String.valueOf(dto.getId()))
  .setDocAsUpsert(true).setDoc(this.objectWriter.writeValueAsString(json));
}

代码示例来源:origin: 2shou/HBaseObserver

@Override
public void postPut(ObserverContext<RegionCoprocessorEnvironment> e, Put put, WALEdit edit, Durability durability) throws IOException {
  try {
    String indexId = new String(put.getRow());
    NavigableMap<byte[], List<Cell>> familyMap = put.getFamilyCellMap();
    Map<String, Object> json = new HashMap<String, Object>();
    for (Map.Entry<byte[], List<Cell>> entry : familyMap.entrySet()) {
      for (Cell cell : entry.getValue()) {
        String key = Bytes.toString(CellUtil.cloneQualifier(cell));
        String value = Bytes.toString(CellUtil.cloneValue(cell));
        json.put(key, value);
      }
    }
    ElasticSearchOperator.addUpdateBuilderToBulk(client.prepareUpdate(Config.indexName, Config.typeName, indexId).setUpsert(json));
    LOG.info("observer -- add new doc: " + indexId + " to type: " + Config.typeName);
  } catch (Exception ex) {
    LOG.error(ex);
  }
}

代码示例来源:origin: org.apache.james/apache-james-backends-es

public Optional<BulkResponse> update(List<UpdatedRepresentation> updatedDocumentParts) {
  try {
    Preconditions.checkNotNull(updatedDocumentParts);
    BulkRequestBuilder bulkRequestBuilder = client.prepareBulk();
    updatedDocumentParts.forEach(updatedDocumentPart -> bulkRequestBuilder.add(
      client.prepareUpdate(
        aliasName.getValue(),
        typeName.getValue(),
        updatedDocumentPart.getId())
        .setDoc(updatedDocumentPart.getUpdatedDocumentPart())));
    return Optional.of(bulkRequestBuilder.get());
  } catch (ValidationException e) {
    LOGGER.warn("Error while updating index", e);
    return Optional.empty();
  }
}

代码示例来源:origin: visallo/vertexium

private UpdateRequestBuilder prepareRemoveFieldsFromDocument(String indexName, String documentId, Collection<String> fields) {
  List<String> fieldNames = fields.stream().map(this::replaceFieldnameDots).collect(Collectors.toList());
  if (fieldNames.isEmpty()) {
    return null;
  }
  return getClient().prepareUpdate()
      .setIndex(indexName)
      .setId(documentId)
      .setType(getIdStrategy().getType())
      .setScript(new Script(
          ScriptType.STORED,
          "painless",
          "deleteFieldsFromDocumentScript",
          ImmutableMap.of("fieldNames", fieldNames)
      ))
      .setRetryOnConflict(MAX_RETRIES);
}

代码示例来源:origin: org.vertexium/vertexium-elasticsearch5

private UpdateRequestBuilder prepareRemoveFieldsFromDocument(String indexName, String documentId, Collection<String> fields) {
  List<String> fieldNames = fields.stream().map(this::replaceFieldnameDots).collect(Collectors.toList());
  if (fieldNames.isEmpty()) {
    return null;
  }
  return getClient().prepareUpdate()
      .setIndex(indexName)
      .setId(documentId)
      .setType(getIdStrategy().getType())
      .setScript(new Script(
          ScriptType.STORED,
          "painless",
          "deleteFieldsFromDocumentScript",
          ImmutableMap.of("fieldNames", fieldNames)
      ))
      .setRetryOnConflict(MAX_RETRIES);
}

代码示例来源:origin: Netflix/metacat

/**
 * {@inheritDoc}
 */
@Override
public void softDelete(final String type, final String id, final MetacatRequestContext metacatRequestContext) {
  try {
    RETRY_ES_PUBLISH.call(() -> {
      final XContentBuilder builder = XContentFactory.contentBuilder(contentType);
      builder.startObject().field(ElasticSearchDoc.Field.DELETED, true)
        .field(ElasticSearchDoc.Field.TIMESTAMP, java.time.Instant.now().toEpochMilli())
        .field(ElasticSearchDoc.Field.USER,
        metacatRequestContext.getUserName()).endObject();
      client.prepareUpdate(esIndex, type, id)
        .setRetryOnConflict(NO_OF_CONFLICT_RETRIES).setDoc(builder).get(esCallTimeout);
      ensureMigrationByCopy(type, Collections.singletonList(id));
      return null;
    });
  } catch (Exception e) {
    handleException("ElasticSearchUtil.softDelete", type, id, e,
      Metrics.CounterElasticSearchDelete.getMetricName());
  }
}

代码示例来源:origin: lt.tokenmill.crawling/elasticsearch

public void updateStatus(String url, String status) throws IOException {
  UpdateRequestBuilder update = getConnection().getClient()
      .prepareUpdate(getIndex(), getType(), url)
      .setDoc(jsonBuilder()
          .startObject()
          .field(STATUS_FIELD, status)
          .endObject());
  getConnection().getProcessor().add(update.request());
}

代码示例来源:origin: bbossgroups/bboss-elasticsearch

public UpdateRequestBuilder updateIndexRequest( Event event,ElasticSearchEventSerializer elasticSearchEventSerializer) throws IOException {
  UpdateRequestBuilder indexRequestBuilder = null;
       XContentBuilder bytesStream = null;
    try {
      bytesStream = elasticSearchEventSerializer == null ?serializer.getContentBuilder(event):elasticSearchEventSerializer.getContentBuilder(event);
      indexRequestBuilder = client.prepareUpdate(event.getIndexPrefix(), event.getIndexType(),event.getId())
          .setDoc(bytesStream);
    } finally {
      if (bytesStream != null) {
        // bytesStream.cl
      }
    }
        return indexRequestBuilder;
}

代码示例来源:origin: org.eclipse.rdf4j/rdf4j-sail-elasticsearch

@Override
public void update(SearchDocument doc)
  throws IOException
{
  ElasticsearchDocument esDoc = (ElasticsearchDocument)doc;
  bulkRequest.add(client.prepareUpdate(esDoc.getIndex(), esDoc.getType(), esDoc.getId()).setVersion(
      esDoc.getVersion()).setDoc(esDoc.getSource()));
}

代码示例来源:origin: org.vertexium/vertexium-elasticsearch2

@Override
public void alterElementVisibility(
    Graph graph,
    Element element,
    Visibility oldVisibility,
    Visibility newVisibility,
    Authorizations authorizations
) {
  String oldFieldName = deflatePropertyName(graph, ELEMENT_TYPE_FIELD_NAME, oldVisibility);
  Script script = new Script(
      "ctx._source.remove(oldFieldName);",
      ScriptService.ScriptType.INLINE,
      null,
      ImmutableMap.<String, Object>of("oldFieldName", oldFieldName)
  );
  getClient().prepareUpdate()
      .setIndex(getIndexName(element))
      .setId(element.getId())
      .setType(ELEMENT_TYPE)
      .setScript(script)
      .get();
  addElement(graph, element, authorizations);
}

代码示例来源:origin: org.vertexium/vertexium-elasticsearch-singledocument

@Override
public void markElementHidden(Graph graph, Element element, Visibility visibility, Authorizations authorizations) {
  try {
    String hiddenVisibilityPropertyName = addVisibilityToPropertyName(graph, HIDDEN_VERTEX_FIELD_NAME, visibility);
    if (!isPropertyInIndex(graph, hiddenVisibilityPropertyName)) {
      String indexName = getIndexName(element);
      IndexInfo indexInfo = ensureIndexCreatedAndInitialized(graph, indexName);
      addPropertyToIndex(graph, indexInfo, hiddenVisibilityPropertyName, visibility, Boolean.class, false);
    }
    XContentBuilder jsonBuilder = XContentFactory.jsonBuilder().startObject();
    jsonBuilder.field(hiddenVisibilityPropertyName, true);
    jsonBuilder.endObject();
    getClient()
        .prepareUpdate(getIndexName(element), ELEMENT_TYPE, element.getId())
        .setDoc(jsonBuilder)
        .setRetryOnConflict(MAX_RETRIES)
        .get();
  } catch (IOException e) {
    throw new VertexiumException("Could not mark element hidden", e);
  }
}

代码示例来源:origin: org.vertexium/vertexium-elasticsearch5

@Override
public void markPropertyHidden(Graph graph, Element element, Property property, Visibility visibility, Authorizations authorizations) {
  try {
    String hiddenVisibilityPropertyName = addVisibilityToPropertyName(graph, HIDDEN_PROPERTY_FIELD_NAME, visibility);
    String indexName = getIndexName(element);
    if (!isPropertyInIndex(graph, HIDDEN_PROPERTY_FIELD_NAME, visibility)) {
      IndexInfo indexInfo = ensureIndexCreatedAndInitialized(indexName);
      addPropertyToIndex(graph, indexInfo, hiddenVisibilityPropertyName, visibility, Boolean.class, false, false, false);
    }
    XContentBuilder jsonBuilder = XContentFactory.jsonBuilder().startObject();
    jsonBuilder.field(hiddenVisibilityPropertyName, true);
    jsonBuilder.endObject();
    getClient()
        .prepareUpdate(indexName, getIdStrategy().getType(), getIdStrategy().createElementDocId(element))
        .setDoc(jsonBuilder)
        .setRetryOnConflict(MAX_RETRIES)
        .get();
    getIndexRefreshTracker().pushChange(indexName);
  } catch (IOException e) {
    throw new VertexiumException("Could not mark element hidden", e);
  }
}

代码示例来源:origin: Netflix/metacat

private void updateDocs(final String type, final List<String> ids, final ObjectNode node) {
  try {
    RETRY_ES_PUBLISH.call(() -> {
      final BulkRequestBuilder bulkRequest = client.prepareBulk();
      ids.forEach(id -> {
        bulkRequest.add(client.prepareUpdate(esIndex, type, id)
          .setRetryOnConflict(NO_OF_CONFLICT_RETRIES)
          .setDoc(metacatJson.toJsonAsBytes(node), XContentType.JSON));
      });
      final BulkResponse bulkResponse = bulkRequest.execute().actionGet(esBulkCallTimeout);
      if (bulkResponse.hasFailures()) {
        for (BulkItemResponse item : bulkResponse.getItems()) {
          if (item.isFailed()) {
            handleException("ElasticSearchUtil.updateDocs.item", type, item.getId(),
              item.getFailure().getCause(), Metrics.CounterElasticSearchUpdate.getMetricName());
          }
        }
      }
      return null;
    });
  } catch (Exception e) {
    handleException("ElasticSearchUtil.updatDocs", type, ids, e,
      Metrics.CounterElasticSearchBulkUpdate.getMetricName());
  }
}

代码示例来源:origin: org.vertexium/vertexium-elasticsearch5

private UpdateRequestBuilder prepareUpdate(Graph graph, Element element, Authorizations authorizations) {
  try {
    IndexInfo indexInfo = addPropertiesToIndex(graph, element, element.getProperties());
    XContentBuilder source = buildJsonContentFromElement(graph, element, authorizations);
    if (MUTATION_LOGGER.isTraceEnabled()) {
      MUTATION_LOGGER.trace("addElement json: %s: %s", element.getId(), source.string());
    }
    getIndexRefreshTracker().pushChange(indexInfo.getIndexName());
    return getClient()
        .prepareUpdate(indexInfo.getIndexName(), getIdStrategy().getType(), getIdStrategy().createElementDocId(element))
        .setDocAsUpsert(true)
        .setDoc(source)
        .setRetryOnConflict(MAX_RETRIES);
  } catch (IOException e) {
    throw new VertexiumException("Could not add element", e);
  }
}

代码示例来源:origin: visallo/vertexium

private UpdateRequestBuilder prepareUpdate(Graph graph, Element element, Authorizations authorizations) {
  try {
    IndexInfo indexInfo = addPropertiesToIndex(graph, element, element.getProperties());
    XContentBuilder source = buildJsonContentFromElement(graph, element, authorizations);
    if (MUTATION_LOGGER.isTraceEnabled()) {
      MUTATION_LOGGER.trace("addElement json: %s: %s", element.getId(), source.string());
    }
    getIndexRefreshTracker().pushChange(indexInfo.getIndexName());
    return getClient()
        .prepareUpdate(indexInfo.getIndexName(), getIdStrategy().getType(), getIdStrategy().createElementDocId(element))
        .setDocAsUpsert(true)
        .setDoc(source)
        .setRetryOnConflict(MAX_RETRIES);
  } catch (IOException e) {
    throw new VertexiumException("Could not add element", e);
  }
}

相关文章