use of com.yahoo.collections.TinyIdentitySet in project vespa by vespa-engine.
the class VespaBackEndSearcher method partitionHits.
private List<Result> partitionHits(Result result, String summaryClass) {
List<Result> parts = new ArrayList<>();
TinyIdentitySet<Query> queryMap = new TinyIdentitySet<>(4);
for (Iterator<Hit> i = hitIterator(result); i.hasNext(); ) {
Hit hit = i.next();
if (hit instanceof FastHit) {
FastHit fastHit = (FastHit) hit;
if (!fastHit.isFilled(summaryClass)) {
Query q = fastHit.getQuery();
if (q == null) {
// fallback for untagged hits
q = result.hits().getQuery();
}
int idx = queryMap.indexOf(q);
if (idx < 0) {
idx = queryMap.size();
Result r = new Result(q);
parts.add(r);
queryMap.add(q);
}
parts.get(idx).hits().add(fastHit);
}
}
}
return parts;
}