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

x33g5p2x  于2022-01-28 转载在 其他  
字(10.2k)|赞(0)|评价(0)|浏览(185)

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

RestHighLevelClient.parseEntity介绍

暂无

代码示例

代码示例来源:origin: apache/servicemix-bundles

/**
 * Executes a request using the Explain API.
 * See <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/search-explain.html">Explain API on elastic.co</a>
 * @param explainRequest the request
 * @param options the request options (e.g. headers), use {@link RequestOptions#DEFAULT} if nothing needs to be customized
 * @return the response
 * @throws IOException in case there is a problem sending the request or parsing back the response
 */
public final ExplainResponse explain(ExplainRequest explainRequest, RequestOptions options) throws IOException {
  return performRequest(explainRequest, RequestConverters::explain, options,
    response -> {
      CheckedFunction<XContentParser, ExplainResponse, IOException> entityParser =
        parser -> ExplainResponse.fromXContent(parser, convertExistsResponse(response));
      return parseEntity(response.getEntity(), entityParser);
    },
    singleton(404));
}

代码示例来源:origin: org.elasticsearch.client/elasticsearch-rest-high-level-client

/**
 * @deprecated If creating a new HLRC ReST API call, consider creating new actions instead of reusing server actions. The Validation
 * layer has been added to the ReST client, and requests should extend {@link Validatable} instead of {@link ActionRequest}.
 */
@Deprecated
protected final <Req extends ActionRequest, Resp> void performRequestAsyncAndParseEntity(Req request,
                                   CheckedFunction<Req, Request, IOException> requestConverter,
                                   RequestOptions options,
                                   CheckedFunction<XContentParser, Resp, IOException> entityParser,
                                   ActionListener<Resp> listener, Set<Integer> ignores) {
  performRequestAsync(request, requestConverter, options,
      response -> parseEntity(response.getEntity(), entityParser), listener, ignores);
}

代码示例来源:origin: org.elasticsearch.client/elasticsearch-rest-high-level-client

@Deprecated
protected final <Req extends ActionRequest, Resp> Resp performRequestAndParseEntity(Req request,
                                    CheckedFunction<Req, Request, IOException> requestConverter,
                                    CheckedFunction<XContentParser, Resp, IOException> entityParser,
                                    Set<Integer> ignores, Header... headers) throws IOException {
  return performRequest(request, requestConverter, (response) -> parseEntity(response.getEntity(), entityParser), ignores, headers);
}

代码示例来源:origin: org.elasticsearch.client/elasticsearch-rest-high-level-client

@Deprecated
protected final <Req extends ActionRequest, Resp> void performRequestAsyncAndParseEntity(Req request,
                               CheckedFunction<Req, Request, IOException> requestConverter,
                               CheckedFunction<XContentParser, Resp, IOException> entityParser,
                               ActionListener<Resp> listener, Set<Integer> ignores, Header... headers) {
  performRequestAsync(request, requestConverter, (response) -> parseEntity(response.getEntity(), entityParser),
      listener, ignores, headers);
}

代码示例来源:origin: org.elasticsearch.client/elasticsearch-rest-high-level-client

/**
 * @deprecated If creating a new HLRC ReST API call, consider creating new actions instead of reusing server actions. The Validation
 * layer has been added to the ReST client, and requests should extend {@link Validatable} instead of {@link ActionRequest}.
 */
@Deprecated
protected final <Req extends ActionRequest, Resp> Resp performRequestAndParseEntity(Req request,
                                    CheckedFunction<Req, Request, IOException> requestConverter,
                                    RequestOptions options,
                                    CheckedFunction<XContentParser, Resp, IOException> entityParser,
                                    Set<Integer> ignores) throws IOException {
  return performRequest(request, requestConverter, options,
      response -> parseEntity(response.getEntity(), entityParser), ignores);
}

代码示例来源:origin: org.elasticsearch.client/elasticsearch-rest-high-level-client

/**
 * Defines a helper method for asynchronously performing a request.
 */
protected final <Req extends Validatable, Resp> void performRequestAsyncAndParseEntity(Req request,
                                    CheckedFunction<Req, Request, IOException> requestConverter,
                                    RequestOptions options,
                                    CheckedFunction<XContentParser, Resp, IOException> entityParser,
                                    ActionListener<Resp> listener, Set<Integer> ignores) {
  performRequestAsync(request, requestConverter, options,
    response -> parseEntity(response.getEntity(), entityParser), listener, ignores);
}

代码示例来源:origin: org.elasticsearch.client/elasticsearch-rest-high-level-client

/**
 * Defines a helper method for performing a request and then parsing the returned entity using the provided entityParser.
 */
protected final <Req extends Validatable, Resp> Resp performRequestAndParseEntity(Req request,
                                   CheckedFunction<Req, Request, IOException> requestConverter,
                                   RequestOptions options,
                                   CheckedFunction<XContentParser, Resp, IOException> entityParser,
                                   Set<Integer> ignores) throws IOException {
  return performRequest(request, requestConverter, options,
    response -> parseEntity(response.getEntity(), entityParser), ignores);
}

代码示例来源:origin: org.elasticsearch.client/elasticsearch-rest-high-level-client

/**
 * Executes a request using the Explain API.
 * See <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/search-explain.html">Explain API on elastic.co</a>
 * @param explainRequest the request
 * @param options the request options (e.g. headers), use {@link RequestOptions#DEFAULT} if nothing needs to be customized
 * @return the response
 */
public final ExplainResponse explain(ExplainRequest explainRequest, RequestOptions options) throws IOException {
  return performRequest(explainRequest, RequestConverters::explain, options,
    response -> {
      CheckedFunction<XContentParser, ExplainResponse, IOException> entityParser =
        parser -> ExplainResponse.fromXContent(parser, convertExistsResponse(response));
      return parseEntity(response.getEntity(), entityParser);
    },
    singleton(404));
}

代码示例来源:origin: org.elasticsearch.client/elasticsearch-rest-high-level-client

/**
 * Asynchronously executes a request using the Explain API.
 *
 * See <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/search-explain.html">Explain API on elastic.co</a>
 * @param explainRequest the request
 * @param options the request options (e.g. headers), use {@link RequestOptions#DEFAULT} if nothing needs to be customized
 * @param listener the listener to be notified upon request completion
 */
public final void explainAsync(ExplainRequest explainRequest, RequestOptions options, ActionListener<ExplainResponse> listener) {
  performRequestAsync(explainRequest, RequestConverters::explain, options,
    response -> {
      CheckedFunction<XContentParser, ExplainResponse, IOException> entityParser =
        parser -> ExplainResponse.fromXContent(parser, convertExistsResponse(response));
      return parseEntity(response.getEntity(), entityParser);
    },
    listener, singleton(404));
}

代码示例来源:origin: org.elasticsearch.client/elasticsearch-rest-high-level-client

/**
 * Defines a helper method for requests that can 404 and in which case will return an empty Optional
 * otherwise tries to parse the response body
 */
protected final <Req extends Validatable, Resp> Optional<Resp> performRequestAndParseOptionalEntity(Req request,
                               CheckedFunction<Req, Request, IOException> requestConverter,
                               RequestOptions options,
                               CheckedFunction<XContentParser, Resp, IOException> entityParser
                               ) throws IOException {
  Optional<ValidationException> validationException = request.validate();
  if (validationException != null && validationException.isPresent()) {
    throw validationException.get();
  }
  Request req = requestConverter.apply(request);
  req.setOptions(options);
  Response response;
  try {
    response = client.performRequest(req);
  } catch (ResponseException e) {
    if (RestStatus.NOT_FOUND.getStatus() == e.getResponse().getStatusLine().getStatusCode()) {
      return Optional.empty();
    }
    throw parseResponseException(e);
  }
  try {
    return Optional.of(parseEntity(response.getEntity(), entityParser));
  } catch (Exception e) {
    throw new IOException("Unable to parse response body for " + response, e);
  }
}

代码示例来源:origin: org.elasticsearch.client/elasticsearch-rest-high-level-client

/**
 * Asynchronous request which returns empty {@link Optional}s in the case of 404s or parses entity into an Optional
 */
protected final <Req extends Validatable, Resp> void performRequestAsyncAndParseOptionalEntity(Req request,
    CheckedFunction<Req, Request, IOException> requestConverter,
    RequestOptions options,
    CheckedFunction<XContentParser, Resp, IOException> entityParser,
    ActionListener<Optional<Resp>> listener) {
  Optional<ValidationException> validationException = request.validate();
  if (validationException != null && validationException.isPresent()) {
    listener.onFailure(validationException.get());
    return;
  }
  Request req;
  try {
    req = requestConverter.apply(request);
  } catch (Exception e) {
    listener.onFailure(e);
    return;
  }
  req.setOptions(options);
  ResponseListener responseListener = wrapResponseListener404sOptional(response -> parseEntity(response.getEntity(),
      entityParser), listener);
  client.performRequestAsync(req, responseListener);
}

代码示例来源:origin: org.elasticsearch.client/elasticsearch-rest-high-level-client

/**
 * Converts a {@link ResponseException} obtained from the low level REST client into an {@link ElasticsearchException}.
 * If a response body was returned, tries to parse it as an error returned from Elasticsearch.
 * If no response body was returned or anything goes wrong while parsing the error, returns a new {@link ElasticsearchStatusException}
 * that wraps the original {@link ResponseException}. The potential exception obtained while parsing is added to the returned
 * exception as a suppressed exception. This method is guaranteed to not throw any exception eventually thrown while parsing.
 */
protected final ElasticsearchStatusException parseResponseException(ResponseException responseException) {
  Response response = responseException.getResponse();
  HttpEntity entity = response.getEntity();
  ElasticsearchStatusException elasticsearchException;
  if (entity == null) {
    elasticsearchException = new ElasticsearchStatusException(
        responseException.getMessage(), RestStatus.fromCode(response.getStatusLine().getStatusCode()), responseException);
  } else {
    try {
      elasticsearchException = parseEntity(entity, BytesRestResponse::errorFromXContent);
      elasticsearchException.addSuppressed(responseException);
    } catch (Exception e) {
      RestStatus restStatus = RestStatus.fromCode(response.getStatusLine().getStatusCode());
      elasticsearchException = new ElasticsearchStatusException("Unable to parse response body", restStatus, responseException);
      elasticsearchException.addSuppressed(e);
    }
  }
  return elasticsearchException;
}

相关文章