close

Filter

loading table of contents...

Release Notes / Version 10.2101

Table Of Contents

Solr 8 and SolrCloud

Apache Solr has been updated to version 8.1.1. Furthermore, Solr may also run as SolrCloud cluster for CMCC now.

For detailed changes of Apache Solr have a look at https://lucene.apache.org/solr/guide/8_1/solr-upgrade-notes.html and https://lucene.apache.org/solr/8_1_1/changes/Changes.html .

Re-indexing Required

The index format and schema have changed with this version and require full re-indexing from scratch for Content Feeder , CAE Feeder and Elastic Social indices.

Note that re-indexing may take quite some time for large repositories. To avoid long downtime, you can set up a new Content Feeder, new CAE Feeder, and new Solr instance in parallel to your existing installation, and let them feed the indexes of the newly set up Solr instance. When initial feeding is complete, you can update Content Server, Studio and CAE. They must be configured to use the new Solr instance for search, but will already find an initialized index, so that search is working immediately.

Index Schema Changes

Numeric and date field types date , int , float , long , double , tdate , tint , tfloat , tlong , tdouble have been removed from schema.xml files and fields use the corresponding point field types pdate , pint , pfloat , plong , pdouble now. Trie field types are deprecated since Solr 7 and point fields should be used instead. If you've defined custom fields of such a trie type, you should change them to the corresponding point field type. Most of these fields have also been changed to stored="false" because they have Solr DocValues enabled, which can also be used to retrieve the original value similar to stored fields. Multi-valued numeric fields where the order of values is important are still defined with stored="true" , because Solr DocValues do not maintain the order of values.

The Content Feeder index fields " name " and " name_tokenized " have been replaced by one field " name " in modules/search/solr-config/src/main/app/configsets/content/conf/schema.xml . The new field uses the SortableTextField type which supports sorting. Multiple fields were required in the past: the text field " name_tokenized " was used to find contents by words appearing in the name, while the field " name " was used for sorting search results by name. The new SortableTextField supports both use cases. You have to adapt custom code to use the field " name " instead of " name_tokenized " if you've referenced the latter in custom code. The field " name " is now configured for support of multiple languages in the same way as it was configured for " name_tokenized " before, which means that language-dependent fields such as " name_en " will automatically be used, if present. For details on language-dependent fields have a look at the Search Manual, chapter "Searching in Different Languages".

The new field " name_lc " in the Content Feeder index is set to the lower-cased name of the content and can be used to sort by name in a case-insensitive way.

The deprecated Content Feeder index field " folder " and the deprecated Content Feeder configuration property " feeder.indexPath " have been removed. The field wasn't used in the default configuration of the product. It was only set to the path of the content's parent folder, if the default configuration of the Content Feeder had been changed to set Spring property " feeder.indexPath=true ". You should use the index field " path " instead, which contains the content's own path including its name, or the index field " folderpath " which contains the path as numeric content IDs. If really needed, you could also keep the field " folder " in your custom index schema, and implement feeding with a custom FeedablePopulator in the Content Feeder.

The field " stringSuggestions " has been added to the Content Feeder index and is set to all values from the existing index fields " productCode " and " assetProductCodes ". It is configured in solrconfig.xml for search suggestions. Previously solrconfig.xml configured " productCode " and " assetProductCodes " fields directly. This is a preparation for possible future changes, especially for modularizing Solr configuration files.

The field " site " has been removed from the Content Feeder index. It wasn't used in the product and did not always contain the correct site, if content was indexed before the site was correctly set up, for example before the corresponding CMSite document was created (bug CMS-11445). The class SiteFeedablePopulator which was responsible to set this field in the Content Feeder has also been removed from the Blueprint module content-feeder-blueprint-component . If you still need this field, you can keep the field and class in your custom Blueprint.

Docker Image

The Solr image in the docker deployment is now based on the "slim" flavor of the official Solr docker image from https://hub.docker.com/_/solr/ . It was based on the "alpine" flavor before, which is no longer available.

The directory layout of the docker image has changed as described for the base image in https://github.com/docker-solr/docker-solr/pull/210 . Index data is now located in /var/solr/data and not in /opt/solr/solr_cores anymore.

SolrCloud Support

It is now also possible to connect CMCC applications to Apache Solr that is running as SolrCloud cluster. See section "Search Engine | SolrCloud" in the Search Manual for details.

(CMS-13291)

Search Results

Table Of Contents