diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-09-10 23:17:07 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-10 23:17:07 +0200 |
commit | 6d82deb26854a53c46328c4fda8cc1f843c7a3d1 (patch) | |
tree | 90143136336991cd7cf133ce15dcf65f4a22ea0d /container-search/src/main/java/com/yahoo/search | |
parent | a90ed2ed0499e6ada4dc4edc05442ba8ad0e7251 (diff) |
Revert "Revert "Make fasthit leaner since it appears in considerable amounts during m…""
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java | 6 | ||||
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/result/Hit.java | 15 |
2 files changed, 13 insertions, 8 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java index 080e358d083..74de675684c 100644 --- a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java +++ b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java @@ -222,18 +222,14 @@ public class ProtobufSerialization { var sorting = query.getRanking().getSorting(); for (var replyHit : protobuf.getHitsList()) { - FastHit hit = new FastHit(); + FastHit hit = new FastHit(new GlobalId(replyHit.getGlobalId().toByteArray()), new Relevance(replyHit.getRelevance()), partId, distKey); hit.setQuery(query); - hit.setRelevance(new Relevance(replyHit.getRelevance())); - hit.setGlobalId(new GlobalId(replyHit.getGlobalId().toByteArray())); if (!replyHit.getSortData().isEmpty()) { hit.setSortData(replyHit.getSortData().toByteArray(), sorting); } hit.setFillable(); hit.setCached(false); - hit.setPartId(partId); - hit.setDistributionKey(distKey); hit.setSource(source); result.hits().add(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 10fa7d24d1a..4a2d6c58423 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 @@ -61,7 +61,7 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi private URI id; /** The types of this hit */ - private Set<String> types = new ArraySet<>(1); + private Set<String> types = null; /** The relevance of this hit */ private Relevance relevance; @@ -107,6 +107,9 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi /** Creates an (invalid) empty hit. Id and relevance must be set before handoff */ protected Hit() {} + protected Hit(Relevance relevance) { + this.relevance = relevance; + } /** * Creates a minimal valid hit having relevance 1000 @@ -510,7 +513,12 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi } /** Returns the types of this as a modifiable set. Modifications to this set are directly reflected in this hit */ - public Set<String> types() { return types; } + //TODO This shoudld not be exposed as a modifiable set + public Set<String> types() { + if (types == null) + types = new ArraySet<>(1); + return types; + } /** * Returns the add number, assigned when adding the hit to a Result. @@ -655,7 +663,8 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi hit.fields = fields != null ? new LinkedHashMap<>(fields) : null; hit.unmodifiableFieldMap = null; - hit.types = new LinkedHashSet<>(types); + if (types != null) + hit.types = new LinkedHashSet<>(types); if (filled != null) { hit.setFilledInternal(new HashSet<>(filled)); } |