You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by th...@apache.org on 2026/09/29 11:50:15 UTC

(jackrabbit-oak) 01/01: OAK-12429 Simplified index mgmt: support updating more properties

This is an automated email from the ASF dual-hosted git repository.

thomasmueller pushed a commit to branch OAK-12429
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git

commit c2bc8db4eaf47a1be9c22f6ed1264253486d4612
Author: Thomas Mueller <mu...@adobe.com>
AuthorDate: Tue Sep 29 13:49:58 2026 +0200

    OAK-12429 Simplified index mgmt: support updating more properties
---
 .../oak/plugins/index/diff/DiffIndexMerger.java    |  4 +++-
 .../oak/plugins/index/diff/MergeTest.java          | 23 ++++++++++++++++++----
 2 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/diff/DiffIndexMerger.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/diff/DiffIndexMerger.java
index 24a49e1e70..3808e81b64 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/diff/DiffIndexMerger.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/diff/DiffIndexMerger.java
@@ -88,7 +88,9 @@ public class DiffIndexMerger {
 
     // set of properties that are allowed to be changed if the property already exists
     private static final Set<String> ALLOW_CHANGING_IN_EXISTING_PROPERTY = Set.of(
-            "boost", "weight", "secure");
+            "boost", "weight", "secure",
+            "useInSuggest", "useInExcerpt", "useInSpellcheck",
+            "nodeScopeIndex", "dynamicBoost");
 
     // set of properties that allow multi-valued string that might be merged
     private static final Set<String> MERGE_MULTI_VALUES_STRINGS = Set.of(
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/diff/MergeTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/diff/MergeTest.java
index db4de744b5..957a5a4a94 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/diff/MergeTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/diff/MergeTest.java
@@ -366,10 +366,10 @@ public class MergeTest {
     }
 
     @Test
-    public void boost() {
+    public void overwriteBoostAndOtherProperties() {
         // - "analyzed" must not be overwritten
         // - "ordered" is added
-        // - "boost" is overwritten
+        // - "boost", "useIn*", "nodeScopeIndex", and "dynamicBoost" are overwritten
         String merged = new DiffIndexMerger().processMerge(null, JsonObject.fromJson("{\n"
                         + "    \"jcr:primaryType\": \"nam:oak:QueryIndexDefinition\",\n"
                         + "    \"type\": \"lucene\",\n"
@@ -382,7 +382,12 @@ public class MergeTest {
                         + "          \"abc\": {\n"
                         + "            \"jcr:primaryType\": \"nam:nt:unstructured\",\n"
                         + "            \"analyzed\": true,\n"
-                        + "            \"boost\": 1.0\n"
+                        + "            \"boost\": 1.0,\n"
+                        + "            \"useInSuggest\": true,\n"
+                        + "            \"useInExcerpt\": false,\n"
+                        + "            \"useInSpellcheck\": true,\n"
+                        + "            \"nodeScopeIndex\": false,\n"
+                        + "            \"dynamicBoost\": true\n"
                         + "          }\n"
                         + "        }\n"
                         + "      }\n"
@@ -395,7 +400,12 @@ public class MergeTest {
                         + "          \"abc\": {\n"
                         + "            \"analyzed\": false,\n"
                         + "            \"ordered\": true,\n"
-                        + "            \"boost\": 1.2\n"
+                        + "            \"boost\": 1.2,\n"
+                        + "            \"useInSuggest\": false,\n"
+                        + "            \"useInExcerpt\": true,\n"
+                        + "            \"useInSpellcheck\": false,\n"
+                        + "            \"nodeScopeIndex\": true,\n"
+                        + "            \"dynamicBoost\": false\n"
                         + "          }\n"
                         + "        }\n"
                         + "      }\n"
@@ -414,6 +424,11 @@ public class MergeTest {
                 + "          \"jcr:primaryType\": \"nam:nt:unstructured\",\n"
                 + "          \"analyzed\": true,\n"
                 + "          \"boost\": 1.2,\n"
+                + "          \"useInSuggest\": false,\n"
+                + "          \"useInExcerpt\": true,\n"
+                + "          \"useInSpellcheck\": false,\n"
+                + "          \"nodeScopeIndex\": true,\n"
+                + "          \"dynamicBoost\": false,\n"
                 + "          \"ordered\": true\n"
                 + "        }\n"
                 + "      }\n"