summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/result
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-09-10 20:18:04 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2019-09-10 20:18:04 +0200
commitbe2d00845e704a77c66d9ce4443a7e18812a8b38 (patch)
tree90143136336991cd7cf133ce15dcf65f4a22ea0d /container-search/src/main/java/com/yahoo/search/result
parent9b16a5917acf4fabc9c4f4ebbb30974262ccbc74 (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.java15
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));
}