diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-09-10 20:18:04 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-09-10 20:18:04 +0200 |
commit | be2d00845e704a77c66d9ce4443a7e18812a8b38 (patch) | |
tree | 90143136336991cd7cf133ce15dcf65f4a22ea0d /container-search/src/main/java/com/yahoo/search/result | |
parent | 9b16a5917acf4fabc9c4f4ebbb30974262ccbc74 (diff) |
Make fasthit leaner since it appears in considerable amounts during merging, and only a few are filled.
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/result')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/result/Hit.java | 15 |
1 files changed, 12 insertions, 3 deletions
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)); } |