summaryrefslogtreecommitdiffstats
path: root/predicate-search
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-10-02 13:30:44 +0200
committerJon Bratseth <bratseth@oath.com>2018-10-02 13:30:44 +0200
commit103aa3f74fe485ebd56fc66c19dd13ad53a8309d (patch)
tree9093d41f6de9fb173e4a2775405f276838f84987 /predicate-search
parentb234a0daf5076d4ece4b373240883073d2b932ee (diff)
Non-functional changes only
Diffstat (limited to 'predicate-search')
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/Config.java2
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/Hit.java4
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/PredicateIndex.java4
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/PredicateIndexBuilder.java20
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/PredicateQuery.java33
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/annotator/PredicateTreeAnalyzer.java3
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/annotator/PredicateTreeAnnotations.java4
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/annotator/PredicateTreeAnnotator.java2
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/benchmarks/ResultMetrics.java1
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/BoundsPostingList.java2
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/CachedPostingListCounter.java1
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/Feature.java2
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/Interval.java2
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/IntervalPostingList.java5
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/IntervalWithBounds.java3
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/MultiIntervalPostingList.java5
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/Posting.java3
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/PostingList.java4
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/PredicateOptimizer.java2
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/PredicateRangeTermExpander.java4
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/SimpleIndex.java8
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/ZeroConstraintPostingList.java4
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/ZstarCompressedPostingList.java5
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionHit.java2
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionId.java1
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionIdIterator.java1
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionIndex.java7
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionIndexBuilder.java1
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/IndexableFeatureConjunction.java2
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/serialization/PredicateQuerySerializer.java2
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/serialization/SerializationHelper.java2
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/utils/PostingListSearch.java2
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/utils/PrimitiveArraySorter.java1
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/utils/TargetingQueryFileConverter.java1
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/utils/VespaFeedParser.java1
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/utils/VespaFeedWriter.java4
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/utils/VespaQueryParser.java1
37 files changed, 109 insertions, 42 deletions
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/Config.java b/predicate-search/src/main/java/com/yahoo/search/predicate/Config.java
index 094e0c068eb..f96f00eff6c 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/Config.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/Config.java
@@ -14,6 +14,7 @@ import java.io.IOException;
*/
@Beta
public class Config {
+
public final int arity;
public final long lowerBound;
public final long upperBound;
@@ -72,4 +73,5 @@ public class Config {
}
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/Hit.java b/predicate-search/src/main/java/com/yahoo/search/predicate/Hit.java
index e8239a86ebf..c1fc6d9adbc 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/Hit.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/Hit.java
@@ -8,10 +8,11 @@ import com.google.common.annotations.Beta;
* Each hit is associated with a subquery bitmap,
* indicating which subqueries the hit represents.
*
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ * @author Magnar Nedland
*/
@Beta
public class Hit implements Comparable<Hit> {
+
private final int docId;
private final long subquery;
@@ -65,4 +66,5 @@ public class Hit implements Comparable<Hit> {
public int compareTo(Hit o) {
return Integer.compare(docId, o.docId);
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/PredicateIndex.java b/predicate-search/src/main/java/com/yahoo/search/predicate/PredicateIndex.java
index 0af576b3813..e6643fce824 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/PredicateIndex.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/PredicateIndex.java
@@ -32,11 +32,12 @@ import java.util.stream.Stream;
* Note that the {@link PredicateIndex} is thread-safe, but a {@link Searcher} is not.
* Each thread <strong>must</strong> use its own searcher.
* </p>
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ * @author Magnar Nedland
* @author bjorncs
*/
@Beta
public class PredicateIndex {
+
private static final int SERIALIZATION_FORMAT_VERSION = 3;
private final PredicateRangeTermExpander expander;
@@ -222,4 +223,5 @@ public class PredicateIndex {
}
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/PredicateIndexBuilder.java b/predicate-search/src/main/java/com/yahoo/search/predicate/PredicateIndexBuilder.java
index fb9cc2f9011..1b92c96aa58 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/PredicateIndexBuilder.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/PredicateIndexBuilder.java
@@ -71,7 +71,7 @@ public class PredicateIndexBuilder {
/**
* Creates a PredicateIndexBuilder with default upper and lower bounds.
*
- * @param arity The arity to use when indexing range predicates.
+ * @param arity the arity to use when indexing range predicates.
* Small arity gives smaller index, but more expensive searches.
*/
public PredicateIndexBuilder(int arity) {
@@ -83,10 +83,10 @@ public class PredicateIndexBuilder {
* Limiting the range of possible values in range predicates reduces index size
* and increases search performance.
*
- * @param arity The arity to use when indexing range predicates.
+ * @param arity the arity to use when indexing range predicates.
* Small arity gives smaller index, but more expensive searches.
- * @param lowerBound The lower bound for the range of values used by range predicates.
- * @param upperBound The upper bound for the range of values used by range predicates.
+ * @param lowerBound the lower bound for the range of values used by range predicates
+ * @param upperBound the upper bound for the range of values used by range predicates
*/
public PredicateIndexBuilder(int arity, long lowerBound, long upperBound) {
this(new Config.Builder().setArity(arity).setLowerBound(lowerBound).setUpperBound(upperBound).build());
@@ -95,7 +95,7 @@ public class PredicateIndexBuilder {
/**
* Creates a PredicateIndexBuilder based on a Config object.
*
- * @param config Configuration for the PredicateIndexBuilder.
+ * @param config configuration for the PredicateIndexBuilder
*/
public PredicateIndexBuilder(Config config) {
this.config = config;
@@ -106,8 +106,8 @@ public class PredicateIndexBuilder {
/**
* Indexes a predicate with the given id.
*
- * @param docId A 32-bit document id, returned in the Hit objects when the predicate matches.
- * @param predicate The predicate to index.
+ * @param docId a 32-bit document id, returned in the Hit objects when the predicate matches
+ * @param predicate the predicate to index
*/
public void indexDocument(int docId, Predicate predicate) {
if (documentIdCounter == Integer.MAX_VALUE) {
@@ -213,8 +213,9 @@ public class PredicateIndexBuilder {
}
/**
- * Retrieve metrics about the current index.
- * @return An object containing metrics.
+ * Retrieves metrics about the current index.
+ *
+ * @return an object containing metrics
*/
public PredicateIndexStats getStats() {
return new PredicateIndexStats(zeroConstraintDocuments, intervalIndexBuilder,
@@ -266,4 +267,5 @@ public class PredicateIndexBuilder {
.collect(joining("\n"));
}
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/PredicateQuery.java b/predicate-search/src/main/java/com/yahoo/search/predicate/PredicateQuery.java
index 17459f8e5ca..839e00618f1 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/PredicateQuery.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/PredicateQuery.java
@@ -9,7 +9,7 @@ import java.util.List;
/**
* Represents a query in the form of a set of boolean variables that are considered true.
*
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ * @author Magnar Nedland
* @author bjorncs
*/
@Beta
@@ -19,15 +19,18 @@ public class PredicateQuery {
private final ArrayList<RangeFeature> rangeFeatures = new ArrayList<>();
/**
- * Adds a feature to the query.
- * @param key Feature key
- * @param value Feature value
+ * Adds a feature to the query
+ *
+ * @param key a feature key
+ * @param value a feature value
*/
public void addFeature(String key, String value) {
addFeature(key, value, SubqueryBitmap.DEFAULT_VALUE);
}
+
/**
* Adds a feature to the query, e.g. gender = male.
+ *
* @param key Feature key
* @param value Feature value
* @param subqueryBitMap The subquery bitmap for which this term is true
@@ -35,27 +38,28 @@ public class PredicateQuery {
public void addFeature(String key, String value, long subqueryBitMap) {
features.add(new Feature(key, value, subqueryBitMap));
}
+
public void addRangeFeature(String key, long value) { addRangeFeature(key, value, SubqueryBitmap.DEFAULT_VALUE);}
+
/**
* Adds a range feature to the query, e.g. age = 25.
- * @param key Feature key
- * @param value Feature value
- * @param subqueryBitMap The subquery bitmap for which this term is true
+ *
+ * @param key a feature key
+ * @param value a feature value
+ * @param subqueryBitMap the subquery bitmap for which this term is true
*/
public void addRangeFeature(String key, long value, long subqueryBitMap) {
rangeFeatures.add(new RangeFeature(key, value, subqueryBitMap));
}
- /**
- * @return A list of features
- */
+
+ /** Returns a list of features */
public List<Feature> getFeatures() { return features; }
- /**
- * @return A list of range features
- */
+ /** Returns a list of range features */
public List<RangeFeature> getRangeFeatures() { return rangeFeatures; }
public static class Feature {
+
public final String key;
public final String value;
public final long subqueryBitmap;
@@ -67,9 +71,11 @@ public class PredicateQuery {
this.value = value;
this.key = key;
}
+
}
public static class RangeFeature {
+
public final String key;
public final long value;
public final long subqueryBitmap;
@@ -79,6 +85,7 @@ public class PredicateQuery {
this.value = value;
this.subqueryBitmap = subqueryBitmap;
}
+
}
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/annotator/PredicateTreeAnalyzer.java b/predicate-search/src/main/java/com/yahoo/search/predicate/annotator/PredicateTreeAnalyzer.java
index eca9ab3fc00..af3d4960f16 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/annotator/PredicateTreeAnalyzer.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/annotator/PredicateTreeAnalyzer.java
@@ -27,7 +27,7 @@ public class PredicateTreeAnalyzer {
/**
* @param predicate The predicate tree.
- * @return A result object containing the min-feature value, the tree size and sub-tree sizes.
+ * @return a result object containing the min-feature value, the tree size and sub-tree sizes.
*/
public static PredicateTreeAnalyzerResult analyzePredicateTree(Predicate predicate) {
AnalyzerContext context = new AnalyzerContext();
@@ -145,4 +145,5 @@ public class PredicateTreeAnalyzer {
// Does the tree contain any Negation nodes?
public boolean hasNegationPredicate = false;
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/annotator/PredicateTreeAnnotations.java b/predicate-search/src/main/java/com/yahoo/search/predicate/annotator/PredicateTreeAnnotations.java
index dab67ff9ffa..5e1fda41571 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/annotator/PredicateTreeAnnotations.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/annotator/PredicateTreeAnnotations.java
@@ -11,9 +11,10 @@ import java.util.Map;
* Holds annotations for all the features of a predicate.
* This is sufficient information to insert the predicate into a PredicateIndex.
*
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ * @author Magnar Nedland
*/
public class PredicateTreeAnnotations {
+
public final int minFeature;
public final int intervalEnd;
public final Map<Long, List<Integer>> intervalMap;
@@ -32,4 +33,5 @@ public class PredicateTreeAnnotations {
this.boundsMap = boundsMap;
this.featureConjunctions = featureConjunctions;
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/annotator/PredicateTreeAnnotator.java b/predicate-search/src/main/java/com/yahoo/search/predicate/annotator/PredicateTreeAnnotator.java
index 63f9abe3fa6..732148bdbd4 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/annotator/PredicateTreeAnnotator.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/annotator/PredicateTreeAnnotator.java
@@ -24,6 +24,7 @@ import java.util.Map;
/**
* Performs the labelling of the predicate tree. The algorithm is based on the label algorithm described in
* <a href="http://dl.acm.org/citation.cfm?id=1807171">Efficiently evaluating complex boolean expressions</a>.
+ *
* @author bjorncs
* @see <a href="http://dl.acm.org/citation.cfm?id=1807171">Efficiently evaluating complex boolean expressions</a>
*/
@@ -175,4 +176,5 @@ public class PredicateTreeAnnotator {
this.subTreeSizes = subTreeSizes;
}
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/benchmarks/ResultMetrics.java b/predicate-search/src/main/java/com/yahoo/search/predicate/benchmarks/ResultMetrics.java
index 72c916d11fa..e76f9b8915c 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/benchmarks/ResultMetrics.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/benchmarks/ResultMetrics.java
@@ -9,6 +9,7 @@ import java.util.Map;
* @author bjorncs
*/
public class ResultMetrics {
+
private static final int MAX_LATENCY = 100; // ms
private static final int RESOLUTION = 25; // sample points per ms
private static final int SLOTS = MAX_LATENCY * RESOLUTION;
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/BoundsPostingList.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/BoundsPostingList.java
index 65da0c8bd76..25d34f752b8 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/BoundsPostingList.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/BoundsPostingList.java
@@ -5,7 +5,7 @@ package com.yahoo.search.predicate.index;
* Wraps a posting stream of IntervalWithBounds objects (for collapsed
* fixed tree leaf nodes) into a PostingList.
*
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ * @author Magnar Nedland
* @author bjorncs
*/
public class BoundsPostingList extends MultiIntervalPostingList {
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/CachedPostingListCounter.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/CachedPostingListCounter.java
index 97292d1bc82..91599da5483 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/CachedPostingListCounter.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/CachedPostingListCounter.java
@@ -17,6 +17,7 @@ import java.util.List;
* @author bjorncs
*/
public class CachedPostingListCounter {
+
// Only use bit vector for counting if the documents covered is more than the threshold (relative to nDocuments)
private static final double THRESHOLD_USE_BIT_VECTOR = 1;
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/Feature.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/Feature.java
index c437112a802..6a9140585c5 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/Feature.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/Feature.java
@@ -9,6 +9,7 @@ import com.yahoo.document.predicate.PredicateHash;
* @author bjorncs
*/
public class Feature {
+
public static final String Z_STAR_COMPRESSED_ATTRIBUTE_NAME = "z-star-compressed";
public static final long Z_STAR_COMPRESSED_ATTRIBUTE_HASH = PredicateHash.hash64(Z_STAR_COMPRESSED_ATTRIBUTE_NAME);
@@ -17,4 +18,5 @@ public class Feature {
public static long createHash(String key, String value) {
return PredicateHash.hash64(key + "=" + value);
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/Interval.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/Interval.java
index 500e5207791..a742df139d6 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/Interval.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/Interval.java
@@ -12,7 +12,7 @@ package com.yahoo.search.predicate.index;
* ZStar1 intervals have end value in 16 MSB and begin in 16 LSB.
* ZStar2 intervals have only an end value located at 16 LSB.
*
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ * @author Magnar Nedland
* @author bjorncs
*/
public class Interval {
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/IntervalPostingList.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/IntervalPostingList.java
index 67156cc86c2..6d56bd2906b 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/IntervalPostingList.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/IntervalPostingList.java
@@ -4,10 +4,12 @@ package com.yahoo.search.predicate.index;
/**
* Implementation of PostingList for regular features that store
* their intervals and nothing else.
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ *
+ * @author Magnar Nedland
* @author bjorncs
*/
public class IntervalPostingList extends MultiIntervalPostingList {
+
private final PredicateIntervalStore store;
private int[] currentIntervals;
private int currentIntervalIndex;
@@ -39,4 +41,5 @@ public class IntervalPostingList extends MultiIntervalPostingList {
public int getInterval() {
return currentInterval;
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/IntervalWithBounds.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/IntervalWithBounds.java
index b80f1880a08..ea4dd56e8d8 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/IntervalWithBounds.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/IntervalWithBounds.java
@@ -6,7 +6,7 @@ import java.util.stream.Stream;
/**
* Represents a collapsed leaf node in the fixed tree range representation.
*
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ * @author Magnar Nedland
* @author bjorncs
*/
public class IntervalWithBounds {
@@ -82,4 +82,5 @@ public class IntervalWithBounds {
", bounds=" + getBounds() +
'}';
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/MultiIntervalPostingList.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/MultiIntervalPostingList.java
index e4191a2505a..917e4aeef06 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/MultiIntervalPostingList.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/MultiIntervalPostingList.java
@@ -5,10 +5,12 @@ import com.yahoo.search.predicate.utils.PostingListSearch;
/**
* Shared implementation for posting lists that may have multiple intervals.
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ *
+ * @author Magnar Nedland
* @author bjorncs
*/
public abstract class MultiIntervalPostingList implements PostingList {
+
private final int[] docIds;
private final int[] dataRefs;
private final long subquery;
@@ -64,4 +66,5 @@ public abstract class MultiIntervalPostingList implements PostingList {
public final long getSubquery() {
return subquery;
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/Posting.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/Posting.java
index 7bfac7b2a89..bc1ba0fc475 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/Posting.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/Posting.java
@@ -4,7 +4,7 @@ package com.yahoo.search.predicate.index;
/**
* Represents an entry in a posting list, containing an integer id and integer data reference.
*
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ * @author Magnar Nedland
*/
public class Posting implements Comparable<Posting> {
@@ -47,4 +47,5 @@ public class Posting implements Comparable<Posting> {
result = 31 * result + dataRef;
return result;
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/PostingList.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/PostingList.java
index 4274b7e6496..fd14d18ec31 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/PostingList.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/PostingList.java
@@ -4,9 +4,10 @@ package com.yahoo.search.predicate.index;
/**
* Interface for posting lists to be used by the algorithm implemented in PredicateSearch.
*
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ * @author Magnar Nedland
*/
public interface PostingList {
+
/**
* Moves the posting list past the supplied document id.
* @param docId Document id to move past.
@@ -50,4 +51,5 @@ public interface PostingList {
* @return The document ids
*/
int[] getDocIds();
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/PredicateOptimizer.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/PredicateOptimizer.java
index 682a78fc7de..f4441173b3e 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/PredicateOptimizer.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/PredicateOptimizer.java
@@ -19,6 +19,7 @@ import com.yahoo.search.predicate.optimization.PredicateProcessor;
* @author bjorncs
*/
public class PredicateOptimizer {
+
private final PredicateProcessor[] processors;
private final PredicateOptions options;
@@ -43,4 +44,5 @@ public class PredicateOptimizer {
}
return predicate;
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/PredicateRangeTermExpander.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/PredicateRangeTermExpander.java
index 46a6b47a01e..198dfd46b74 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/PredicateRangeTermExpander.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/PredicateRangeTermExpander.java
@@ -7,9 +7,10 @@ import com.yahoo.document.predicate.PredicateHash;
* Expands range terms from a query to find the set of features they translate to.
*
* @author bjorncs
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ * @author Magnar Nedland
*/
public class PredicateRangeTermExpander {
+
private final int arity;
private final int maxPositiveLevels;
private final int maxNegativeLevels;
@@ -113,4 +114,5 @@ public class PredicateRangeTermExpander {
public interface EdgeHandler {
void handleEdge(long featureHash, int value);
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/SimpleIndex.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/SimpleIndex.java
index b3d2cb44bc9..64583273e77 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/SimpleIndex.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/SimpleIndex.java
@@ -17,7 +17,8 @@ import java.util.Map;
/**
* An index mapping keys of type Long to lists of postings of generic data.
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ *
+ * @author Magnar Nedland
* @author bjorncs
*/
public class SimpleIndex {
@@ -30,8 +31,9 @@ public class SimpleIndex {
/**
* Retrieves a posting list for a given key
- * @param key Key to lookup
- * @return List of postings
+ *
+ * @param key the key to lookup
+ * @return list of postings
*/
public Entry getPostingList(long key) {
return dictionary.get(key);
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/ZeroConstraintPostingList.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/ZeroConstraintPostingList.java
index f4d5bc63afc..7f68897c558 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/ZeroConstraintPostingList.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/ZeroConstraintPostingList.java
@@ -6,10 +6,12 @@ import com.yahoo.search.predicate.SubqueryBitmap;
/**
* Wraps an int stream of document ids into a PostingList.
* All documents in the stream are considered matches.
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ *
+ * @author Magnar Nedland
* @author bjorncs
*/
public class ZeroConstraintPostingList implements PostingList {
+
private final int[] docIds;
private final int length;
private int currentIndex;
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/ZstarCompressedPostingList.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/ZstarCompressedPostingList.java
index 78d19c58378..487dc328b0f 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/ZstarCompressedPostingList.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/ZstarCompressedPostingList.java
@@ -8,10 +8,12 @@ import com.yahoo.search.predicate.SubqueryBitmap;
* The compression works by implying an interval of size 1 after each
* stored interval, unless the next interval starts with 16 bits of 0,
* in which case the current interval is extended to the next.
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ *
+ * @author Magnar Nedland
* @author bjorncs
*/
public class ZstarCompressedPostingList extends MultiIntervalPostingList {
+
private final PredicateIntervalStore store;
private int[] currentIntervals;
private int currentIntervalIndex;
@@ -63,4 +65,5 @@ public class ZstarCompressedPostingList extends MultiIntervalPostingList {
public int getInterval() {
return currentInterval;
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionHit.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionHit.java
index 1be0cd91c87..1706746af58 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionHit.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionHit.java
@@ -9,6 +9,7 @@ import com.yahoo.search.predicate.SubqueryBitmap;
* @author bjorncs
*/
public class ConjunctionHit implements Comparable<ConjunctionHit> {
+
public final long conjunctionId;
public final long subqueryBitmap;
@@ -49,4 +50,5 @@ public class ConjunctionHit implements Comparable<ConjunctionHit> {
return "[" + conjunctionId + ",0x" + Long.toHexString(subqueryBitmap) + "]";
}
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionId.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionId.java
index bba5fcf352c..031e9087268 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionId.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionId.java
@@ -25,4 +25,5 @@ public class ConjunctionId {
public static int nextId(int c) {
return (c | 1) + 1;
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionIdIterator.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionIdIterator.java
index 231aa67d791..8c7dd278f1d 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionIdIterator.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionIdIterator.java
@@ -44,4 +44,5 @@ public class ConjunctionIdIterator {
public int[] getConjunctionIds() {
return conjunctionIds;
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionIndex.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionIndex.java
index d2709ba956f..5a100ea9cf5 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionIndex.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionIndex.java
@@ -23,12 +23,14 @@ import java.util.Optional;
/**
* A searchable index of conjunctions (see {@link FeatureConjunction} / {@link IndexableFeatureConjunction}).
- * Implements the algorithm described in the paper <a href="http://dl.acm.org/citation.cfm?id=1687633">Indexing Boolean Expressions</a>.
+ * Implements the algorithm described in the paper
+ * <a href="http://dl.acm.org/citation.cfm?id=1687633">Indexing Boolean Expressions</a>.
*
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ * @author Magnar Nedland
* @author bjorncs
*/
public class ConjunctionIndex {
+
// A map from K value to FeatureIndex
private final IntObjectMap<FeatureIndex> kIndex;
private final int[] zList;
@@ -276,4 +278,5 @@ public class ConjunctionIndex {
return idMapping[internalId >>> 1];
}
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionIndexBuilder.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionIndexBuilder.java
index e3b75d85743..a6a03177018 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionIndexBuilder.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionIndexBuilder.java
@@ -22,6 +22,7 @@ import java.util.TreeSet;
* @author bjorncs
*/
public class ConjunctionIndexBuilder {
+
// A map from K value to FeatureIndex
private final HashMap<Integer, FeatureIndexBuilder> kIndexBuilder = new HashMap<>();
private final List<Integer> zListBuilder = new ArrayList<>();
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/IndexableFeatureConjunction.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/IndexableFeatureConjunction.java
index 35709c1806e..5e423d36245 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/IndexableFeatureConjunction.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/IndexableFeatureConjunction.java
@@ -17,6 +17,7 @@ import java.util.Set;
* @author bjorncs
*/
public class IndexableFeatureConjunction {
+
/** Conjunction id */
public final long id;
/** K value - number of non-negated operands */
@@ -72,4 +73,5 @@ public class IndexableFeatureConjunction {
public int hashCode() {
return (int) (id ^ (id >>> 32));
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/serialization/PredicateQuerySerializer.java b/predicate-search/src/main/java/com/yahoo/search/predicate/serialization/PredicateQuerySerializer.java
index 871f5eb5a50..17af31b2640 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/serialization/PredicateQuerySerializer.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/serialization/PredicateQuerySerializer.java
@@ -32,6 +32,7 @@ import static java.util.stream.Collectors.toList;
* @author bjorncs
*/
public class PredicateQuerySerializer {
+
private final JsonFactory factory = new JsonFactory();
private final PredicateQueryParser parser = new PredicateQueryParser();
@@ -105,4 +106,5 @@ public class PredicateQuerySerializer {
private static String toHexString(long subqueryBitMap) {
return "0x" + Long.toHexString(subqueryBitMap);
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/serialization/SerializationHelper.java b/predicate-search/src/main/java/com/yahoo/search/predicate/serialization/SerializationHelper.java
index cfca1ab81d9..ee1ba817dbc 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/serialization/SerializationHelper.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/serialization/SerializationHelper.java
@@ -13,6 +13,7 @@ import java.io.IOException;
* @author bjorncs
*/
public class SerializationHelper {
+
public static void writeIntArray(int[] array, DataOutputStream out) throws IOException {
out.writeInt(array.length);
for (int v : array) {
@@ -76,4 +77,5 @@ public class SerializationHelper {
}
return array;
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/utils/PostingListSearch.java b/predicate-search/src/main/java/com/yahoo/search/predicate/utils/PostingListSearch.java
index da42542f1f5..edb3ab41b23 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/utils/PostingListSearch.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/utils/PostingListSearch.java
@@ -3,6 +3,7 @@ package com.yahoo.search.predicate.utils;
/**
* Algorithms for searching in the docId arrays in posting lists.
+ *
* @author bjorncs
*/
public class PostingListSearch {
@@ -86,4 +87,5 @@ public class PostingListSearch {
}
return low;
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/utils/PrimitiveArraySorter.java b/predicate-search/src/main/java/com/yahoo/search/predicate/utils/PrimitiveArraySorter.java
index 90ffbb08a06..cb24d16fb44 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/utils/PrimitiveArraySorter.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/utils/PrimitiveArraySorter.java
@@ -94,4 +94,5 @@ public class PrimitiveArraySorter {
}
}
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/utils/TargetingQueryFileConverter.java b/predicate-search/src/main/java/com/yahoo/search/predicate/utils/TargetingQueryFileConverter.java
index 2c9a199f069..b7e94578f23 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/utils/TargetingQueryFileConverter.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/utils/TargetingQueryFileConverter.java
@@ -286,4 +286,5 @@ public class TargetingQueryFileConverter {
return asYqlString().compareTo(o.asYqlString());
}
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/utils/VespaFeedParser.java b/predicate-search/src/main/java/com/yahoo/search/predicate/utils/VespaFeedParser.java
index 56839230d0a..27367e8aacc 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/utils/VespaFeedParser.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/utils/VespaFeedParser.java
@@ -41,4 +41,5 @@ public class VespaFeedParser {
private static String extractBooleanExpression(String line) {
return line.substring(9, line.length() - 10);
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/utils/VespaFeedWriter.java b/predicate-search/src/main/java/com/yahoo/search/predicate/utils/VespaFeedWriter.java
index 6682d858d32..a23339aa532 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/utils/VespaFeedWriter.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/utils/VespaFeedWriter.java
@@ -9,9 +9,10 @@ import java.io.IOException;
import java.io.Writer;
/**
- * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ * @author Magnar Nedland
*/
public class VespaFeedWriter extends BufferedWriter {
+
private String namespace;
private String documentType;
@@ -40,4 +41,5 @@ public class VespaFeedWriter extends BufferedWriter {
throw new RuntimeException(e);
}
}
+
}
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/utils/VespaQueryParser.java b/predicate-search/src/main/java/com/yahoo/search/predicate/utils/VespaQueryParser.java
index a02068b1943..79024bff180 100644
--- a/predicate-search/src/main/java/com/yahoo/search/predicate/utils/VespaQueryParser.java
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/utils/VespaQueryParser.java
@@ -102,4 +102,5 @@ public class VespaQueryParser {
return result;
}
}
+
}