use of org.kie.kogito.persistence.redis.Constants.RAW_OBJECT_FIELD in project kogito-apps by kiegroup.
the class RedisQuery method execute.
@Override
public List<V> execute() {
io.redisearch.Query query = new io.redisearch.Query(RedisQueryFactory.buildQueryBody(indexName, filters));
setQueryLimitAndOffset(query);
if (sortBy != null) {
query.setSortBy(sortBy.getAttribute(), SortDirection.ASC.equals(sortBy.getSort()));
}
RedisQueryFactory.addFilters(query, filters);
SearchResult search = redisClient.search(query);
LOGGER.debug(String.format("%d documets have been found for the query.", search.totalResults));
return search.docs.stream().map(x -> {
try {
return JsonUtils.getMapper().readValue((String) x.get(RAW_OBJECT_FIELD), type);
} catch (IOException e) {
throw new RuntimeException("Could not deserialize a retrieved object.", e);
}
}).collect(Collectors.toList());
}
Aggregations