Skip to content

IBX-12271: Implemented Solr 10 support - #118

Open
barw4 wants to merge 7 commits into
6.0from
ibx-12271-solr-10.0
Open

IBX-12271: Implemented Solr 10 support#118
barw4 wants to merge 7 commits into
6.0from
ibx-12271-solr-10.0

Conversation

@barw4

@barw4 barw4 commented Sep 2, 2026

Copy link
Copy Markdown
Contributor
🎫 Issue IBX-12271

Description:

Scope decision: Solr 8/9 support is dropped on 6.0 — Solr 10 only. .github/init_solr.sh deliberately 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): SynonymFilterFactorySynonymGraphFilterFactory — 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-managed start, --solr-home (Solr 10 repurposed -s for --solr-url), bin/solr create, bin/solr zk upconfig instead of removed zkcli.sh; maxShardsPerNode only 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 at dist/lucene/solr), solr.xml/allowUrls handling extended to 10.x, defaults → 10.0.0 and .platform/configsets/solr10/conf. Non-10.x versions print a warning but still work (no hard error — init_solr.sh and ibexa/core's docker/solr image call this script for older versions). All four solrconfig.xml sed patches verified against real 9.10.0/10.0.0 _default files.
  • Bugfix (both scripts): the autoSoftCommit.maxTime patch matched only the pre-9 upstream default (-1; it's 3000 since 9.x) and was silently no-oping — now matches any value.
  • CI: matrix reduced to 10.0.0 × 4 core setups; actions/setup-java with Temurin 21 — Solr 10 requires Java 21 (ref).
  • Configuration::SOLR_DEFAULT_VERSION10.0.0; MapLocationDistanceRange version branching removed (modern LatLonPointSpatialField path only, $solrVersion ctor arg + %ibexa.solr.version% wiring dropped; the version config node stays for BC); new testVersion provider; README supported-versions/Java note; 7.7-era @see links 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 guards load() with NotFoundException, as the persistence cache can serve a stale ContentInfo right after a deletion (testDeleteContent on CI).

For QA:

Documentation:

@barw4 barw4 self-assigned this Sep 2, 2026
@barw4 barw4 added the Feature New feature request label Sep 2, 2026
@barw4
barw4 marked this pull request as ready for review September 4, 2026 09:04
@barw4
barw4 requested a review from a team September 4, 2026 09:09
Comment thread .github/workflows/integration-tests.yaml Outdated
Comment thread tests/bundle/DependencyInjection/IbexaSolrExtensionExtensionTest.php Outdated
Comment thread tests/bundle/DependencyInjection/IbexaSolrExtensionExtensionTest.php Outdated
Comment thread tests/bundle/DependencyInjection/IbexaSolrExtensionExtensionTest.php Outdated
Comment thread README.md Outdated
@barw4
barw4 requested a review from alongosz September 4, 2026 12:25

@konradoboza konradoboza left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! Please make sure to add Doc needed label.

Comment thread src/lib/Handler.php
@barw4 barw4 added the Doc needed The changes require some documentation label Sep 7, 2026
@sonarqubecloud

sonarqubecloud Bot commented Sep 9, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Doc needed The changes require some documentation Feature New feature request Ready for QA

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants