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.

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 - Getting issue details... STATUS
  • The solrconfig.xml and  managed-schema configuration files are compatible with Solr 7.x.
    MGNLEESOLR-127 - Getting issue details... STATUS
  • New sub module magnolia-solr-workbench. It provides a SolrContainer for list, search and thumbnail views in the content apps.
    MGNLEESOLR-120 - Getting issue details... STATUS
  • Support from multiple Solr servers (cores).
    MGNLEESOLR-54 - Getting issue details... STATUS

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_idpathworkspacenodetypeassetprovideridurltype 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 - Getting issue details... STATUS

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).

Full changelog for version 5.0 https://jira.magnolia-cms.com/browse/MGNLEESOLR/fixforversion/18141

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 - Getting issue details... STATUS
  • magnolia-solr-search-provider-theme module has gone  MGNLEESOLR-66 - Getting issue details... STATUS

  • Improve search performance  MGNLEESOLR-64 - Getting issue details... STATUS
  • Connect Crawlers with activation process  MGNLEESOLR-77 - Getting issue details... STATUS
  • Ability to use different implementation of edu.uci.ics.crawler4j.crawler.WebCrawler and different triggering command for every Crawler  MGNLEESOLR-61 - Getting issue details... STATUS
  • Search results are now configured at the page level instead of the component level  MGNLEESOLR-70 - Getting issue details... STATUS
  • Don't ignore the Robots Meta Tag  MGNLEESOLR-72 - Getting issue details... STATUS

Full changelog for version 3.0 https://jira.magnolia-cms.com/browse/MGNLEESOLR/fixforversion/17434

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


  • No labels