Apache Solr 7.3.1 integration
The core of the WebSphere Commerce Search application is the powerful Apache Solr search engine. Before Version 9.0.0.5, WebSphere Commerce used Solr version 5.5.4. In versions 9.0.0.5+, Solr 7.3.1 is used. Several changes in Solr 7.3.1 affect our customizations and how you use Solr.
Range query format
The Solr version 5.5.4 range query format is no longer supported in version 7.3.1. An example is the default price range facet. Before WebSphere Commerce Version 9.0.0.5, the price facet in the SRCHATTRPROP database table takes the following format.
price_USD:{* 100} 100;{100 200} 200;{200 300} 300;{300 400} 400;{400 500} 500;{500 *}In Solr version 7.3.1, this format causes a syntax error in the query parser. If we are using WebSphere Commerce version 9.0.0.5+, change the query string into the following format.
price_USD:{* TO 100];{100 TO 200];{200 TO 300];{300 TO 400];{400 TO 500];{500 TO *}
Note: Convert all previous range query formats that take the form "({lower upper} upper)" into "({lower TO upper])". Migrate other customization that involves the old query format to the new one.
Default schema field types
Upgrade the default schema field types. Starting with Solr version 7.0.0, the Trie*Field fields are deprecated. Replace them with *PointField. The default setting retains the old data type fields (for example, int, tint, sint) and creates new fields (for example, pint, pints). Although the old fields still function, it is advisable to upgrade the old data type to the new one. Some deprecated fields are still used, for example, protected field types, for compatible considerations.
Customized solrconfig.xml parameters
Migrate any customized solrconfig.xml parameters.
For Solr version 7.3.1, place the configuration parameter solr.mergeFactor in the solrconfig.xml file into the SRCHCONFEXT.CONFIG column. It is replaced by two parameters: solr.mergePolicy.maxMergeAtOnce and solr.mergePolicy.segmentsPerTier. If you previously set the value to something like <mergeFactor>5</mergeFactor>, replace it with solr.mergePolicy.maxMergeAtOnce=5,solr.mergePolicy.segmentsPerTier=5.
Related tasks
Migrating WebSphere Commerce Version 7 Feature Pack 6 BOD-based Search
Migrating WebSphere Commerce Version 7 Feature Pack 7 BOD-based Search
Migrating WebSphere Commerce Version 8 Search