Solr 10 is now available.

Add new config-set templates for this new major version. The following changes are relevant:

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

znerol created an issue. See original summary.

znerol’s picture

After copying over the 9.x templates, the LUCENE_90 value in solrconfig.xml needs to be adapted. According to lucene TestVersion.java it looks like the correct value is LUCENE_10_0.

znerol’s picture

znerol’s picture

Up until Solr 9, it was necessary to use the -c or --cloud flag to start solr in cloud mode. In Solr 10 this is now the default.

znerol’s picture

The bin/post script has been replaced with the bin/solr post command.

znerol’s picture

The deprecated solrcore.properties configuration method has been removed. The ability to configure a core via a custom properties file using the core.proprties properties setting remains.

znerol’s picture

Very funny problem due to the size of the XML configuration:

[solr10] | 2026-03-06 13:38:20.332 ERROR (qtp324404955-35-null-46) [ t:null-46] o.a.s.h.RequestHandlerBase Client exception =>org.apache.solr.common.SolrException: Error CREATEing SolrCore 'drupal_shard1_replica_n1': Unable to create core [drupal_shard1_replica_n1] Caused by: JAXP00010004: The accumulated size of entities is "100,001" that exceeded the "100,000" limit set by "jdk.xml.totalEntitySizeLimit".

This is because solr 10 docker image is based on a newer JDK image. And they thightened the limits in between.

znerol’s picture

  • ExternalFileField field type has been removed.
znerol’s picture

The alternative dutch stemmer which was selected using the language="Kp" attribute is now the default stemming implementation.

znerol’s picture

The legacy Circuit Breaker named CircuitBreakerManager is removed.

znerol’s picture

Status: Active » Needs work

I'm unable to get the github actions to work. It seems that docker compose up -d in jump-start/solr10 is failing to create the drupal collection. However, I cannot reproduce that locally. It always succeeds on my machine.

znerol’s picture

Assigned: znerol » Unassigned

znerol changed the visibility of the branch feature/4.x/solr-10-configset to hidden.

znerol’s picture

Status: Needs work » Needs review
znerol’s picture

Issue summary: View changes
znerol’s picture

Issue summary: View changes
znerol’s picture

Issue summary: View changes
mkalkbrenner’s picture

Status: Needs review » Needs work

Thanks for the MR. But the workflow must be different.
Instead of providing a jump-start config-set, a set of 10.x templates must be added to https://git.drupalcode.org/project/search_api_solr/-/tree/4.x/solr-conf-...
The tests should then automatically create a jump-start config-set from the templates. (I changed the gitlab CI config to pick up these newly generated jump-starts.)
This is important as this is the process running when users generate custom configs.
Furthermore, some code changes are required to allow a Solr 10.x config-set generation.

But the most important thing that is starnge is that the jump-start tests should have failed because there are no Solr 10.x templates.

znerol’s picture

But the most important thing that is starnge is that the jump-start tests should have failed because there are no Solr 10.x templates.

The solr templates are there, and also the changes in SolrConfigSetController.php and SolrConnectorPluginBase.php. But it looks like gitlab doesn't manage to render it...

% git log --decorate --oneline | head -n1
ab30af81 (HEAD -> 3577485-solr-10-add, search_api_solr-3577485/3577485-solr-10-add) No need to translate 10.x

% git diff --stat=127 4.x |grep -v jump-start
 .gitlab-ci.yml                                                      |    32 +-
 config/optional/search_api_solr.solr_field_type.text_nl_10_0_0.yml  | 45924 +++++++++++++++++++++++++++++++++++++++++++++++++
 solr-conf-templates/10.x/core.properties                            |     1 +
 solr-conf-templates/10.x/elevate.xml                                |    27 +
 solr-conf-templates/10.x/schema.xml                                 |   475 +
 solr-conf-templates/10.x/solrconfig.xml                             |   805 +
 solr-conf-templates/10.x/solrcore.properties                        |    17 +
 src/Controller/SolrConfigSetController.php                          |     3 +-
 src/SolrConnector/SolrConnectorPluginBase.php                       |    29 +-
 tests/src/Kernel/SearchApiSolrExtractionTest.php                    |     1 +
 378 files changed, 234288 insertions(+), 13 deletions(-)

znerol’s picture

I've added a draft merge request without the changes in jump-start.

znerol’s picture

Issue summary: View changes
znerol’s picture

Status: Needs work » Needs review

Running this in pre-production. There are no stats due to removal of mbean handler, but other than that things look good.

mkalkbrenner’s picture

Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

idebr’s picture

@mkalkbrenner can you tag a new release, so the option to run Solr 10 becomes available without using a dev release?