diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-05-03 13:29:36 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-05-03 13:29:36 +0200 |
commit | 6f50b8b324a35b5aa929e04c0b043e97a93753a7 (patch) | |
tree | ee94abccc80216243a7dc4ca43bb10153481ffa5 /container-search/src/main/java/com/yahoo/search | |
parent | 2c888efa6eda254932d1f97e3f17bae83751397f (diff) |
Expect the right context
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/grouping/vespa/HitConverter.java | 20 | ||||
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/result/Hit.java | 5 |
2 files changed, 10 insertions, 15 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/HitConverter.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/HitConverter.java index 7e848243c99..9db0215af36 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/HitConverter.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/HitConverter.java @@ -52,21 +52,13 @@ class HitConverter implements ResultBuilder.HitConverter { hit.setFillable(); hit.setSearcherSpecificMetaData(searcher, summaryClass); - Hit ctxHit = (Hit)groupHit.getContext(); - if (ctxHit == null) { + GroupingListHit hitContext = (GroupingListHit)groupHit.getContext(); + if (hitContext == null) throw new NullPointerException("Hit has no context."); - } - hit.setSource(ctxHit.getSource()); - hit.setQuery(ctxHit.getQuery()); - - if (ctxHit instanceof GroupingListHit) { - // in a live system the ctxHit can only by GroupingListHit, but because the code used Hit prior to version - // 5.10 we need to check to avoid breaking existing unit tests -- both internally and with customers - QueryPacketData queryPacketData = ((GroupingListHit)ctxHit).getQueryPacketData(); - if (queryPacketData != null) { - hit.setQueryPacketData(queryPacketData); - } - } + hit.setSource(hitContext.getSource()); + hit.setQuery(hitContext.getQuery()); + if (hitContext.getQueryPacketData() != null) + hit.setQueryPacketData(hitContext.getQueryPacketData()); return hit; } diff --git a/container-search/src/main/java/com/yahoo/search/result/Hit.java b/container-search/src/main/java/com/yahoo/search/result/Hit.java index 8b2c59ac24a..0664720c7d7 100644 --- a/container-search/src/main/java/com/yahoo/search/result/Hit.java +++ b/container-search/src/main/java/com/yahoo/search/result/Hit.java @@ -46,6 +46,9 @@ import java.util.stream.Collectors; */ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hit>, Cloneable { + // Collection fields in hits are, when possible lazy because much of the work of a container + // consists of allocating and then garbage collecting hits + private static final String DOCUMENT_ID = "documentid"; /** A collection of string keyed object properties. */ @@ -61,7 +64,7 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi private URI id; /** The types of this hit */ - private Set<String> types = new ArraySet<>(2); + private Set<String> types = new ArraySet<>(1); /** The relevance of this hit */ private Relevance relevance; |