@Override public void onResponse(MultiGetResponse response) { MultiGetItemResponse[] responses = response.getResponses(); for (int i = 0; i < responses.length; i++) { MultiGetItemResponse singleResponse = responses[i]; if(singleResponse != null && !singleResponse.isFailed()) { GetResponse singleGetResponse = singleResponse.getResponse(); if(singleGetResponse.isExists() && !singleGetResponse.isSourceEmpty()) { //success final Tuple<Long, Settings> _settings = toSettings(singleGetResponse); if(_settings.v2() != null) { callback.success(singleGetResponse.getType(), _settings); } else { log.error("Cannot parse settings for "+singleGetResponse.getType()); } } else { //does not exist or empty source callback.noData(singleGetResponse.getType()); } } else { //failure callback.singleFailure(singleResponse==null?null:singleResponse.getFailure()); } } }
public static MultiGetItemResponse readItemResponse(StreamInput in) throws IOException { MultiGetItemResponse response = new MultiGetItemResponse(); response.readFrom(in); return response; }
@Override public void readFrom(StreamInput in) throws IOException { super.readFrom(in); responses = new MultiGetItemResponse[in.readVInt()]; for (int i = 0; i < responses.length; i++) { responses[i] = MultiGetItemResponse.readItemResponse(in); } }
@Override public <T> LinkedList<T> mapResults(MultiGetResponse responses, Class<T> clazz) { LinkedList<T> list = new LinkedList<>(); for (MultiGetItemResponse response : responses.getResponses()) { if (!response.isFailed() && response.getResponse().isExists()) { T result = mapEntity(response.getResponse().getSourceAsString(), clazz); setPersistentEntityId(result, response.getResponse().getId(), clazz); setPersistentEntityVersion(result, response.getResponse().getVersion(), clazz); list.add(result); } } return list; }
public Set<String> existBulk(String indexName, String typeName, final Collection<String> ids) { if (ids == null || ids.size() == 0) return new HashSet<>(); MultiGetResponse multiGetItemResponses = elasticsearchClient.prepareMultiGet() .add(indexName, typeName, ids) .get(); Set<String> er = new HashSet<>(); for (MultiGetItemResponse itemResponse : multiGetItemResponses) { GetResponse response = itemResponse.getResponse(); if (response.isExists()) { er.add(response.getId()); } } return er; }
public void execute() { if (executed) return; timing.start("lazyMultiGet"); MultiGetResponse multiGetItemResponses = client.multiGet(multiGetRequest).actionGet(); timing.stop("lazyMultiGet"); multiGetItemResponses.forEach(response -> { if (response.isFailed() || !response.getResponse().isExists()) { System.out.println(response.getFailure().getMessage()); return; } List<BaseVertex> vertices = idToVertices.get(response.getId()); if (vertices == null) return; vertices.forEach(vertex -> vertex.applyLazyFields(response)); }); executed = true; multiGetRequest = null; idToVertices = null; client = null; } }
public void applyLazyFields(MultiGetItemResponse response) { setLabel(response.getType()); response.getResponse().getSource().entrySet().forEach((field) -> addPropertyLocal(field.getKey(), field.getValue())); }
private static MultiGetItemResponse newItemFailure(String index, String type, String id, Exception exception) { return new MultiGetItemResponse(null, new MultiGetResponse.Failure(index, type, id, exception)); } }
@Override public void writeTo(StreamOutput out) throws IOException { super.writeTo(out); out.writeVInt(responses.length); for (MultiGetItemResponse response : responses) { response.writeTo(out); } } }
public Set<String> existBulk(String indexName, String typeName, final Collection<String> ids) { if (ids == null || ids.size() == 0) return new HashSet<>(); MultiGetResponse multiGetItemResponses = elasticsearchClient.prepareMultiGet() .add(indexName, typeName, ids) .get(); Set<String> er = new HashSet<>(); for (MultiGetItemResponse itemResponse : multiGetItemResponses) { GetResponse response = itemResponse.getResponse(); if (response.isExists()) { er.add(response.getId()); } } return er; }
if (response.isFailed()) { logger.error("Get failed: " + response.getFailure().getMessage()); Metric metric = request.metrics.get(response.getId()); if (response.isFailed() || !response.getResponse().isExists()) { final String[] parts = metric.getPath().split("\\."); final StringBuilder sb = new StringBuilder();
@Override public Flux<GetResult> multiGet(HttpHeaders headers, MultiGetRequest multiGetRequest) { return sendRequest(multiGetRequest, RequestCreator.multiGet(), MultiGetResponse.class, headers) .map(MultiGetResponse::getResponses) // .flatMap(Flux::fromArray) // .filter(it -> !it.isFailed() && it.getResponse().isExists()) // .map(it -> DefaultReactiveElasticsearchClient.getResponseToGetResult(it.getResponse())); }
@Override public void onResponse(MultiGetShardResponse response) { for (int i = 0; i < response.locations.size(); i++) { MultiGetItemResponse itemResponse = new MultiGetItemResponse(response.responses.get(i), response.failures.get(i)); responses.set(response.locations.get(i), itemResponse); } if (counter.decrementAndGet() == 0) { finishHim(); } }
@Override public void writeTo(StreamOutput out) throws IOException { super.writeTo(out); out.writeVInt(responses.length); for (MultiGetItemResponse response : responses) { response.writeTo(out); } } }
@Override public void onResponse(MultiGetResponse response) { MultiGetItemResponse[] responses = response.getResponses(); for (int i = 0; i < responses.length; i++) { MultiGetItemResponse singleResponse = responses[i]; if(singleResponse != null && !singleResponse.isFailed()) { GetResponse singleGetResponse = singleResponse.getResponse(); if(singleGetResponse.isExists() && !singleGetResponse.isSourceEmpty()) { //success final Tuple<Long, Settings> _settings = toSettings(singleGetResponse); if(_settings.v2() != null) { callback.success(singleGetResponse.getId(), _settings); } else { log.error("Cannot parse settings for "+singleGetResponse.getId()); } } else { //does not exist or empty source callback.noData(singleGetResponse.getId()); } } else { //failure callback.singleFailure(singleResponse==null?null:singleResponse.getFailure()); } } }
public static String rawMultipleData(MultiGetResponse response) { StringBuilder sb = new StringBuilder("["); boolean first = true; for (MultiGetItemResponse getItemResponse : response.getResponses()) { if (getItemResponse.getResponse().isExists()) { if (first) { first = false; } else { sb.append(","); } sb.append(getItemResponse.getResponse().getSourceAsString()); } } sb.append("]"); return sb.toString(); } }
public static MultiGetItemResponse readItemResponse(StreamInput in) throws IOException { MultiGetItemResponse response = new MultiGetItemResponse(); response.readFrom(in); return response; }
public void onResponse(MultiGetShardResponse response) { for (int i = 0; i < response.locations.size(); i++) { MultiGetItemResponse itemResponse = new MultiGetItemResponse(response.responses.get(i), response.failures.get(i)); responses.set(response.locations.get(i), itemResponse);
@Override public void readFrom(StreamInput in) throws IOException { super.readFrom(in); responses = new MultiGetItemResponse[in.readVInt()]; for (int i = 0; i < responses.length; i++) { responses[i] = MultiGetItemResponse.readItemResponse(in); } }
@Override public void writeTo(StreamOutput out) throws IOException { super.writeTo(out); out.writeVInt(responses.length); for (MultiGetItemResponse response : responses) { response.writeTo(out); } } }