@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; }
@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()); } } }
@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 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(); } }
@Override @SneakyThrows({ IOException.class }) public <T> List<T> findByIds(Class<T> clazz, String... ids) { String indexName = getIndexForType(clazz); String typeName = MappingBuilder.indexTypeFromClass(clazz); MultiGetResponse response = getClient().prepareMultiGet().add(indexName, typeName, ids).execute().actionGet(); if (response == null || response.getResponses() == null || response.getResponses().length == 0) { ESIndexMapper.getLog().debug("Nothing found in index [ {} ], type [ {} ], for Ids [ {} ].", indexName, typeName, Arrays.toString(ids)); return null; } List<T> result = new ArrayList<>(); for (MultiGetItemResponse getItemResponse : response.getResponses()) { if (getItemResponse.getResponse().isExists()) { result.add(getJsonMapper().readValue(getItemResponse.getResponse().getSourceAsString(), clazz)); } } return result; }
@SuppressWarnings("unchecked") @Override public List<T> findAll(final List<String> ids) { if (ids.isEmpty()) { return ImmutableList.of(); } final Builder<T> builder = ImmutableList.builder(); final MultiGetResponse response = client .prepareMultiGet() .add(index, type, ids) .execute() .actionGet(); for(final MultiGetItemResponse item : response.getResponses()) { final GetResponse get = item.getResponse(); if(get.isSourceEmpty()) { continue; } final String json = get.getSourceAsString(); final T entity = deserializer.apply(json); builder.add((T) entity.withId(get.getId())); } return builder.build(); }
final List<String> uids = getUidsFromSomeMethod(); // ids for documents to get final MultiGetRequestBuilder builder = CLIENT.prepareMultiGet(); builder.add(index_name, type, uids); final MultiGetResponse multiResponse = builder.execute().actionGet(); // in this case I simply want to know whether the doc exists if (only_want_to_know_whether_it_exists){ for (final MultiGetItemResponse response : multiResponse.getResponses()) { final boolean exists = response.getResponse().isExists(); exist.add(exists); } } else { // retrieve the doc as json final String string = builder.getSourceAsString(); // handle JSON }
private void flush() { MultiGetResponse multiGetItemResponse = request.execute().actionGet(); for(MultiGetItemResponse response : multiGetItemResponse.getResponses()) { if (response.isFailed()) { logger.error("Get failed: " + response.getFailure().getMessage());
@Override @SuppressWarnings("unchecked") public <P extends ParaObject> List<P> findByIds(String appid, List<String> ids) { List<P> list = new LinkedList<P>(); if (ids == null || ids.isEmpty()) { return list; } try { MultiGetRequestBuilder mgr = client().prepareMultiGet(); for (String id : ids) { MultiGetRequest.Item i = new MultiGetRequest.Item(getIndexName(appid), null, id); mgr.add(i); } MultiGetResponse response = mgr.execute().actionGet(); for (MultiGetItemResponse multiGetItemResponse : response.getResponses()) { GetResponse res = multiGetItemResponse.getResponse(); if (res.isExists() && !res.isSourceEmpty()) { list.add((P) Utils.setAnnotatedFields(res.getSource())); } } } catch (Exception e) { logger.warn(null, e); } return list; }
@Override public void onResponse(MultiGetResponse multiGetItemResponses) { for (int i = 0; i < multiGetItemResponses.getResponses().length; i++) { MultiGetItemResponse itemResponse = multiGetItemResponses.getResponses()[i]; int slot = getRequestSlots.get(i); if (!itemResponse.isFailed()) { GetResponse getResponse = itemResponse.getResponse(); if (getResponse.isExists()) { PercolateRequest originalRequest = (PercolateRequest) percolateRequests.get(slot); percolateRequests.set(slot, new PercolateRequest(originalRequest, getResponse.getSourceAsBytesRef())); } else { logger.trace("mpercolate existing doc, item[{}] doesn't exist", slot); percolateRequests.set(slot, new DocumentMissingException(null, getResponse.getType(), getResponse.getId())); } } else { logger.trace("mpercolate existing doc, item[{}] failure {}", slot, itemResponse.getFailure()); percolateRequests.set(slot, itemResponse.getFailure()); } } new ASyncAction(request, percolateRequests, listener, clusterState).run(); }
@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()); } } }
@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()); } } }