IBX-12271: Implemented Solr 10 support - #118
Open
barw4 wants to merge 7 commits into
Open
Conversation
barw4
marked this pull request as ready for review
September 4, 2026 09:04
ibexa-workflow-automation-1
Bot
requested review from
Steveb-p,
ViniTou,
alongosz,
bnowak,
ciastektk,
konradoboza,
mikadamczyk,
tbialcz and
wiewiurdp
and removed request for
a team
September 4, 2026 09:09
Steveb-p
approved these changes
Sep 4, 2026
alongosz
reviewed
Sep 4, 2026
adamwojs
approved these changes
Sep 5, 2026
konradoboza
approved these changes
Sep 7, 2026
konradoboza
left a comment
Contributor
There was a problem hiding this comment.
Nice work! Please make sure to add Doc needed label.
|
konradoboza
approved these changes
Sep 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Description:
Scope decision: Solr 8/9 support is dropped on 6.0 — Solr 10 only.
.github/init_solr.shdeliberately keeps its 7.7/8/9 provisioning branches (other packages' CI uses it), and the legacy schema files (schema.xml,custom-fields-types.xml) stay because that script's pre-9 path copies them.Changes
language-fieldtypes.xml(default +solr.languages/en):SynonymFilterFactory→SynonymGraphFilterFactory— proactive: still works in 10.0 but deprecated; its managed variant was already removed in 10.0 (ref). Query-time only, no reindex; fixes multi-word synonym matching..github/init_solr.sh: accept 10.x;--user-managedstart,--solr-home(Solr 10 repurposed-sfor--solr-url),bin/solr create,bin/solr zk upconfiginstead of removedzkcli.sh;maxShardsPerNodeonly sent to pre-9 (ref, 10.0.0 CHANGES: SOLR-16893, SOLR-17467, SOLR-14115). Default version 9.8.1 → 9.10.1; 7.7/8.x/9.x invocations unchanged.bin/generate-solr-config.sh: version-aware download URL (was broken for 9.x — still pointed atdist/lucene/solr), solr.xml/allowUrls handling extended to 10.x, defaults →10.0.0and.platform/configsets/solr10/conf. Non-10.x versions print a warning but still work (no hard error —init_solr.shandibexa/core'sdocker/solrimage call this script for older versions). All foursolrconfig.xmlsed patches verified against real 9.10.0/10.0.0_defaultfiles.autoSoftCommit.maxTimepatch matched only the pre-9 upstream default (-1; it's3000since 9.x) and was silently no-oping — now matches any value.10.0.0× 4 core setups;actions/setup-javawith Temurin 21 — Solr 10 requires Java 21 (ref).Configuration::SOLR_DEFAULT_VERSION→10.0.0;MapLocationDistanceRangeversion branching removed (modernLatLonPointSpatialFieldpath only,$solrVersionctor arg +%ibexa.solr.version%wiring dropped; theversionconfig node stays for BC); newtestVersionprovider; README supported-versions/Java note; 7.7-era@seelinks refreshed.Handler::deleteLocation(): the "has an additional Location" classifier used the Lucene regex complement operator~, removed from default syntax flags in Lucene 10 (LUCENE-10010) — on Solr 10 it silently matched nothing, deleting surviving content from the index (SearchEngineIndexingTest::testDeleteLocation). Replaced with a block-join child query (_query_:"{!parent …}(+document_type_id:location -path_string_id:…)") — Locations are indexed as child documents, so the classifier is a plain boolean NOT; two-query delete/reindex flow unchanged. The reindex loop now also guardsload()withNotFoundException, as the persistence cache can serve a stale ContentInfo right after a deletion (testDeleteContenton CI).For QA:
Documentation: