Solr module release notes

Solr Search Provider release notes

The latest version of the Solr module is 5.5.3.

Solr module compatibility with Apache Solr

  • From version 5.2 the module supports Solr 7.x.

  • From version 5.0 it is compatible with Solr 5.x.

  • Older versions of the module are compatible with Solr 4.

Version 5.2

This version contains changes in solrconfig.xml and managed-schema. Please read the notes below before updating.

New features

  • Support for Solr 7.x. Magnolia’s solr-search-provider module uses solrj 7.3.0.
    MGNLEESOLR-129

  • The solrconfig.xml and managed-schema configuration files are compatible with Solr 7.x.
    MGNLEESOLR-127

  • New sub module magnolia-solr-workbench. It provides a SolrContainer for list, search and thumbnail views in the content apps.
    MGNLEESOLR-120

  • Support from multiple Solr servers (cores).
    MGNLEESOLR-54

Changes in Solr 5.x configuration files

managed-schema
  • New fields:

    • jcrname ( <field name="jcrname" type="string" stored="true" indexed="true"/>).

    • nodetype (<field name="nodetype" type="string" stored="true" indexed="true"/>).

    • (dynamic) asset_* (<dynamicField name="asset_*" type="text_general" indexed="true" stored="true" multiValued="false"/>).

  • Removed:

    • <copyField source="*" dest="text"/> (replaced by CloneFieldUpdateProcessorFactory in solrconfig.xml, see also below).

    • Dynamic field *_point (in collision with the *_point fields when parsed by Apache Tika in documents).

    • Dynamic field *_id (Indonesian) (in collision with the *_id fields when parsed by Apache Tika in documents).

solrconfig.xml
  • Changes in ExtractingRequestHandler:

    • By default only document content is indexed (into the asset_content field).

    • All fields that are not defined in the schema are ignored (<str name="uprefix">ignored_</str>).

  • The CloneFieldUpdateProcessorFactory was added into the add-unknown-fields-to-the-schema update request processor chain. This replaces <copyField source="*" dest="text"/>, which was removed from the managed-schema.

  • The uuid, version, id, path, workspace, nodetype, assetproviderid, url, type and all ignored fields are by default excluded from copying to the text field.

Updating to 5.2

To update to version 5.2, refer to the Installing Apache Solr page. After a successful installation of Solr 7, retrigger the indexers (/modules/content-indexer/config/indexers/<indexer_name>) by changing their property indexed to false.

Version 5.0.2

This version contains changes in solrconfig.xml and managed-schema please read the notes before update to 5.0.2.

Fixed na issue of two indexers/crawlers mutually overwriting the resulting index when indexing the same content. For example when one indexer was for indexing the English translation and other one for indexing the German translation. MGNLEESOLR-102

Problem was caused by using jcr uuid(indexers) and url(crawlers) as unique identifier for solr indexes. To fix this issue changes in solrconfig.xml and managed-schema were required.

  • <uniqueKey> in managed-schema was changed to uuid.

  • The ddefault value for unique key field was changed to uuid in info.magnolia.search.solrsearchprovider.logic.providers.FacetedSolrSearchProvider.

  • solrconfig.xml now generates the uuid field from a combination of type and id fields. The deduplication method is used to generate the uuid. For more details see the change in code diff.

Updating to 5.0.2

Option 1:

If you don’t plan to index same content by two different indexers or crawlers then you don’t need to update your solrconfig.xml and managed-schema for your solr core. Only change what you need to do is add uniqueKeyField property with value id into your solr sear result page.

Option 2:

Use new managed-schema and solrconfig.xml configuration files for your solr core and for $SOLR_HOME/server/solr/configsets/magnolia_data_driven_schema_config.

It’s needed to recreate all Solr indexes, because of the changes in configuration files. Probably the easiest way to do it is recreate the solr core and then retrigger indexing in Magnolia.

  1. Use new solrconfig.xml and managed-schema configuration files for $SOLR_HOME/server/solr/configsets/magnolia_data_driven_schema_config Magnolia config set.

  2. Delete magnolia core an create it again

    cd $SOLR_HOME/bin
    ./solr delete -c magnolia
    ./solr create_core -c magnolia -d magnolia_data_driven_schema_configs
  3. Retrigger the indexers, by changing their property indexed to false

Version 5.0

Solr Search Provider module version 5.0 brings support to Solr 5 (officially tested with version 5.3.1).

Regarding the changes in the module it’s recommended completely recreate the Solr indexes after to upgrade to version 5.0.

API changes

org.apache.solr.client.solrj.SolrServer is deprecated and was replaced by org.apache.solr.client.solrj.SolrClient in solr-solrj 5.x library. Because of that info.magnolia.search.solrsearchprovider.MagnoliaSolrBridge#getSolrServer method was changed to info.magnolia.search.solrsearchprovider.MagnoliaSolrBridge#getSolrClient method.

Version 3.0

Solr Search Provider module version 3.0 delivers the following key fixes and enhancements:

  • Module doesn’t depend on STK anymore and can be used also with MTE MGNLEESOLR-66

  • magnolia-solr-search-provider-theme module has gone MGNLEESOLR-66

  • Improve search performance MGNLEESOLR-64

  • Connect Crawlers with activation process MGNLEESOLR-77

  • Ability to use different implementation of edu.uci.ics.crawler4j.crawler.WebCrawler and different triggering command for every Crawler MGNLEESOLR-61

  • Search results are now configured at the page level instead of the component level MGNLEESOLR-70

  • Don’t ignore the Robots Meta Tag MGNLEESOLR-72

Regarding the changes in the module it’s recommended completely recreate the Solr indexes after to upgrade to version 3.0.

Feedback