String rkeyCached = index.cat(Seek.QUERIES).cat(query)
.cat(Seek.QUERIES_RESULT).key();
ZParams zparams = new ZParams();
zparams.aggregate(Aggregate.MAX);
ShardedJedis jedis = Seek.getPool().getResource();
Jedis shard = jedis.getShard(shardKey);
try {
long tstart = System.nanoTime();
List<String> result = null;
long count = 0;
Set<String> range = jedis.zrange(rkeyCached, start, end);
if (range != null && range.size() > 0) {
count = jedis.zcard(rkeyCached);
result = Arrays.asList(range.toArray(new String[range.size()]));
} else {
Pipeline pipeline = shard.pipelined();
List<ConjunctiveFormula> dnf = DNF.convert(formulas);
for (ConjunctiveFormula conjunctiveFormula : dnf) {