private Optional<String> getMetadata(String id) { GetRequestBuilder request = esClient.prepareGet(MetadataIndexDefinition.INDEX_TYPE_METADATA, id) .setStoredFields(MetadataIndexDefinition.FIELD_VALUE); GetResponse response = request.get(); if (response.isExists()) { GetField field = response.getField(MetadataIndexDefinition.FIELD_VALUE); String value = String.valueOf(field.getValue()); return Optional.of(value); } return Optional.empty(); }
private Optional<String> getMetadata(String id) { GetRequestBuilder request = esClient.prepareGet(MetadataIndexDefinition.INDEX_TYPE_METADATA, id) .setStoredFields(MetadataIndexDefinition.FIELD_VALUE); GetResponse response = request.get(); if (response.isExists()) { GetField field = response.getField(MetadataIndexDefinition.FIELD_VALUE); String value = String.valueOf(field.getValue()); return Optional.of(value); } return Optional.empty(); }
public List<Object> getListField(String id, String field){ GetResponse response = client.prepareGet(this.indexName, this.documentType, id). setStoredFields(field) .execute() .actionGet(); if (response==null){ if (logger.isWarnEnabled()){ logger.warn("no response from document "+id+" when fetching field "+field+"!"); } return new ArrayList<>(); }else if (response.getField(field)==null){ if (logger.isWarnEnabled()) { logger.warn("document " + id + " has no field " + field + "!"); } return new ArrayList<>(); } return response.getField(field).getValues(); }