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"