Author: tommaso
Date: Thu Nov 22 15:54:48 2018
New Revision: 1847179
URL: http://svn.apache.org/viewvc?rev=1847179&view=rev
Log:
OAK-7824 - enable reranking by similarity fvs
Modified:
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/FieldNames.java
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/FulltextIndexConstants.java
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/PropertyDefinition.java
Modified:
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/FieldNames.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/FieldNames.java?rev=1847179&r1=1847178&r2=1847179&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/FieldNames.java
(original)
+++
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/FieldNames.java
Thu Nov 22 15:54:48 2018
@@ -60,6 +60,11 @@ public final class FieldNames {
private static final String SIMILARITY_PREFIX = "sim:";
/**
+ * Prefix for all field names that contains the similarity search binary
values.
+ */
+ private static final String SIMILARITY_BINARY_PREFIX = "simbin:";
+
+ /**
* Name of the field that contains the suggest index.
*/
public static final String SUGGEST = ":suggest";
@@ -147,4 +152,8 @@ public final class FieldNames {
public static String createSimilarityFieldName(String name) {
return SIMILARITY_PREFIX + name;
}
+
+ public static String createBinSimilarityFieldName(String name) {
+ return SIMILARITY_BINARY_PREFIX + name;
+ }
}
Modified:
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/FulltextIndexConstants.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/FulltextIndexConstants.java?rev=1847179&r1=1847178&r2=1847179&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/FulltextIndexConstants.java
(original)
+++
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/FulltextIndexConstants.java
Thu Nov 22 15:54:48 2018
@@ -249,10 +249,15 @@ public interface FulltextIndexConstants
*/
String PROP_USE_IN_SPELLCHECK = "useInSpellcheck";
- /**
- * whether use this property values for similarity
- */
- String PROP_USE_IN_SIMILARITY = "useInSimilarity";
+ /**
+ * whether use this property values for similarity
+ */
+ String PROP_USE_IN_SIMILARITY = "useInSimilarity";
+
+ /**
+ * whether feature vector similarity search should rerank based on feature
values
+ */
+ String PROP_SIMILARITY_RERANK = "similarityRerank";
/**
* Property definition config indicating that null check support should be
Modified:
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/PropertyDefinition.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/PropertyDefinition.java?rev=1847179&r1=1847178&r2=1847179&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/PropertyDefinition.java
(original)
+++
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/PropertyDefinition.java
Thu Nov 22 15:54:48 2018
@@ -127,6 +127,8 @@ public class PropertyDefinition {
public final boolean useInSimilarity;
+ public final boolean similarityRerank;
+
public PropertyDefinition(IndexingRule idxDefn, String nodeName, NodeState
defn) {
this.isRegexp = getOptionalValue(defn, PROP_IS_REGEX, false);
this.name = getName(defn, nodeName);
@@ -156,6 +158,7 @@ public class PropertyDefinition {
this.useInSuggest = getOptionalValueIfIndexed(defn,
FulltextIndexConstants.PROP_USE_IN_SUGGEST, false);
this.useInSpellcheck = getOptionalValueIfIndexed(defn,
FulltextIndexConstants.PROP_USE_IN_SPELLCHECK, false);
this.useInSimilarity = getOptionalValueIfIndexed(defn,
FulltextIndexConstants.PROP_USE_IN_SIMILARITY, false);
+ this.similarityRerank = getOptionalValueIfIndexed(defn,
FulltextIndexConstants.PROP_SIMILARITY_RERANK, false);
this.nullCheckEnabled = getOptionalValueIfIndexed(defn,
FulltextIndexConstants.PROP_NULL_CHECK_ENABLED, false);
this.notNullCheckEnabled = getOptionalValueIfIndexed(defn,
FulltextIndexConstants.PROP_NOT_NULL_CHECK_ENABLED, false);
this.excludeFromAggregate = getOptionalValueIfIndexed(defn,
FulltextIndexConstants.PROP_EXCLUDE_FROM_AGGREGATE, false);
@@ -233,6 +236,7 @@ public class PropertyDefinition {
", analyzed=" + analyzed +
", ordered=" + ordered +
", useInSuggest=" + useInSuggest+
+ ", useInSimilarity=" + useInSimilarity+
", nullCheckEnabled=" + nullCheckEnabled +
", notNullCheckEnabled=" + notNullCheckEnabled +
", function=" + function +