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 +


Reply via email to