Apache Solr for TYPO3 11.1.0

We are happy to release EXT:solr 11.1.0. The focus of this release has been on URL and SEO optimizations.

Important: This version is installable with TYPO3 10 LTS only and contains some breaking changes, see details below.

New in this release

Route enhancers

Introduce the TYPO3s route enhancer functionality for facets. This feature allows to mask facets inside the query string or as part of the path segment.

See: * https://github.com/TYPO3-Solr/ext-solr/pull/2755 * https://docs.typo3.org/m/typo3/reference-coreapi/10.4/en-us/ApiOverview/Routing/AdvancedRoutingConfiguration.html * https://docs.typo3.org/p/apache-solr-for-typo3/solr/11.1/en-us/Routing/Index.html

Associative keys for tx_solr[filter] facet URL parameters

Introduce a new style how the facet array represented inside of the url with a combination of key and value in order to be able to keep a specific order.

This feature allows to change the url parameters from index based to associative keys for facets. Using associative keys, the value of a facet will be replaced with 1. A value of 1 means, that the facet is active. A value of 0 means, the value is inactive.

Additionaly a new sort option for url parameters is available. The sort of parameters is mandatory for associative keys.

By default Solr behaves as before and will be changed in future releases.

See: https://github.com/TYPO3-Solr/ext-solr/pull/2705

ASCII and Scandinavian Folding Filter

To improve the search behaviour we introduce folding filters, e.g. allowing to skip accents in search terms. The following languages are now using the ASCII folding filter:

  • dutch
  • english
  • finish
  • french
  • german
  • hungarian
  • irish
  • italian
  • polish
  • portuguese
  • serbian (for fields that don’t include the Serbian Normalization Filter)
  • spanish
  • turkish

For the Scandinavian languages, Norwegian, Swedish and Danish, a similiar approach is used, but we’re using the more specialized Scandinavian Normalization and Scandinavian Folding Filters.

Folding process usally takes place at a late stage, so your configurations shouldn’t be affected. But for the Scandinavian languages the Scandinavian Normalization Filter processes the terms earlier, so your protected words for the Snowball Porter Filter, e.g. danish/protwords.txt, might be affected, please be sure to use the right spelling (see https://solr.apache.org/guide/8_8/language-analysis.html#scandinavian-normalization-filter).

See: https://github.com/TYPO3-Solr/ext-solr/pull/2963

cHash configuration

EXT:solrs components like range facets can not be properly handled by cHash stack, because the amount of possible range-combinations is infinite, therefore they must be excluded from cHash calculation.

This change makes it possible to exclude all EXT:solr parameters from cache hash. To prevent misconfigurations, the new extension configuration setting “pluginNamespaces” was introduced, which is used in FlexForm and in TYPO3_CONF_VARS/FE/cacheHash/excludedParameters. This setting makes it impossible to chose invalid/unhandled EXT:solr plugin namespace on FlexForm (Plugin -> Options -> Plugin Namespace)

Please follow the following migration instructions

Plugin namespaces: Needed only if other as default (tx_solr) plugin namespace is used in instance. Add the used namespace[s] to $GLOBALS[‘TYPO3_CONF_VARS’][‘EXTENSIONS’][‘solr’][‘pluginNamespaces’] or via backend “Settings” -> “Extension Configuration” -> “solr” -> “A list of white listed plugin namespaces”

Global q parameter: Needed only if global “q” parameter without plugin namespace is used and wants to be included in cache hash calculation. Set the setting $GLOBALS[‘TYPO3_CONF_VARS’][‘EXTENSIONS’][‘solr’][‘pluginNamespaces’] = ‘1’ or enable it via backend “Settings” -> “Extension Configuration” -> “solr” -> “Include/Exclude global q parameter in/from cacheHash”

See: * https://github.com/TYPO3-Solr/ext-solr/commit/7b0e77c2680d9dea7861f7bcd33abc1e8664f289 * https://github.com/TYPO3-Solr/ext-solr/pull/2972

Scheduler task to optimize solr cores

This task allows you to optimize the indexes of given cores for a site at a planned time.

See: * https://github.com/TYPO3-Solr/ext-solr/issues/2649 * https://github.com/TYPO3-Solr/ext-solr/pull/2666 * https://docs.typo3.org/p/apache-solr-for-typo3/solr/11.1/en-us/Backend/Scheduler.html#optimizing-cores-of-a-site

Apache Solr 8.9.0 support

With EXT:solr 11.1 we support Apache Solr 8.9.0, the latest release of Apache Solr.

To see what has changed in Apache Solr please read the release notes of Apache Solr: https://solr.apache.org/docs/8_9_0/changes/Changes.html

Map managed resources to core-name

Makes it possible to manage resources per core instead of previously used per schema approach. Now is it possible to maintain the stopwords and synonyms for each core/site separately, and avoid mixing the synonyms between sites using same core.

See: * https://github.com/TYPO3-Solr/ext-solr/issues/2635 * https://github.com/TYPO3-Solr/ext-solr/pull/2794 * https://github.com/TYPO3-Solr/ext-solr/commit/fde8a64be3de538339e1608fbe44a8160ab9f023

Update to Solarium 6

Solarium is upgraded from version 4 to version 6, so due to changes in Solarium various classes and data types had to be adapted.

There are two major changes you have to consider while upgrading:

  • TypoScript option plugin.tx_solr.solr.timeout is dropped, settings for HTTP client $GLOBALS[‘TYPO3_CONF_VARS’][‘HTTP’] are now taken into account
  • Solr path mustn’t be prepended with “/solr/”, refer to the “Getting Started > Configure Extension” section in our manual

Drop TYPO3 9 compatibility

To simplify the development we’ve dropped the compatibility for TYPO3 9 LTS. If you need to use TYPO3 9 please use the 11.0.x branch.

Small improvements and bugfixes

Beside the major changes we did several small improvements and bugfixes:

Contributors

Like always this release would not have been possible without the help from our awesome community. Here are the contributors to this release.

(patches, comments, bug reports, reviews, … in alphabetical order)

  • Achim Fritz
  • Benni Mack
  • Christoph Lehmann
  • Daniel Koether
  • Daniel Siepmann
  • Dmitry Dulepov
  • @dev-rke
  • @dsone
  • @FearFreddy
  • @Figilano
  • @frommo
  • Georg Ringer
  • Jens Jacobsen
  • Lars Tode
  • @leslawp
  • Marc Bastian Heinrichs
  • Markus Friedrich
  • Markus Kobligk
  • Michiel Roos
  • Peter, CyberForum e.V
  • Philipp Kitzberger
  • Rafael Kähm
  • Ruud Silvrants
  • Sascha Egerer
  • Sebastian Hofer
  • Sebastian Michaelsen
  • Stefano Kowalke
  • Stephan Brun
  • Sybille Peters
  • Timo Hund
  • Tobias Kretschmann

Also a big thanks to our partners that have joined the EB2021 program:

  • +Pluswerk AG
  • 711media websolutions GmbH
  • Abt Sportsline GmbH
  • ACO Severin Ahlmann GmbH & Co. KG
  • AVM Computersysteme Vertriebs GmbH
  • cosmoblonde GmbH
  • creativ clicks GmbH
  • cron IT GmbH
  • CS2 AG
  • CW Media & Systems
  • Earlybird GmbH & Co KG
  • Earlybird GmbH & Co KG
  • FLOWSITE GmbH
  • form4 GmbH & Co. KG
  • Getdesigned GmbH
  • Granpasso Digital Strategy GmbH
  • Ikanos GmbH
  • internezzo ag
  • Intersim AG
  • Ion2s GmbH
  • Leitgab Gernot
  • mellowmessage GmbH
  • Moselwal Digitalagentur UG (haftungsbeschränkt)
  • network.publishing Möller-Westbunk GmbH
  • OST Ostschweizer Fachhochschule
  • Plan.Net Suisse AG
  • Provitex GmbH
  • punkt.de GmbH
  • queo GmbH
  • Rechnungshof
  • Schoene neue kinder GmbH
  • SIT GmbH
  • SIZ GmbH
  • Stämpfli AG
  • Triplesense Reply Frankfurt
  • TWT reality bytes GmbH
  • visol digitale Dienstleistungen GmbH
  • Web Commerce GmbH
  • webconsulting business services gmbh
  • webschuppen GmbH
  • Webstobe GmbH
  • Webtech AG
  • wow! solution
  • XIMA MEDIA GmbH

How to Get Involved

There are many ways to get involved with Apache Solr for TYPO3:

Support us by becoming an EB partner:

https://shop.dkd.de/Produkte/Apache-Solr-fuer-TYPO3/

or call:

+49 (0)69 - 2475218 0