SUPPORT / SAMPLES & SAS NOTES
 

Support

Installation Note 66795: Installing and using Apache Solr 8.6.2 in SAS® Anti-Money Laundering 7.1

DetailsAboutRate It

SAS Anti-Money Laundering integrates with the Apache Solr open-source search engine to provide text-based searching of any data that is visible in the SAS Anti-Money Laundering interface. Here are the instructions for installing Apache Solr 8.6.2, released on September 1, 2020, or for upgrading from version 5.5.5.

  1. Download Apache Solr 8.6.2, as follows:
    • From Microsoft Windows operating environments:

      Download the search engine from the following link: www.apache.org/dyn/closer.lua/lucene/solr/8.6.2/solr-8.6.2.tgz

    • From UNIX or Linux operating environments, use either of these methods:
       
      • Download the search engine from the following link: www.apache.org/dyn/closer.lua/lucene/solr/8.6.2/solr-8.6.2.tgz

      • From a UNIX command line, submit the following command from one of the direct mirrors, as shown below. (This method that uses the CURL tool is the easiest method.)
        curl https://archive.apache.org/dist/lucene/solr/8.6.2/solr-8.6.2.tgz --output /install/solr-8.6.2.tgz
        cd /install tar -zxvf solr-8.6.2.tgz

    If you are replacing an existing version 5.5.5 installation, use this command:

    cd /install/solr-5.5.5/bin ./solr stop -all;
  2. Use the configuration script for the multi-business unit to configure the new Solr server:
    cd $FCFBASE/FCFBU1/config;
  3. Update the following entry in the build.properties file, as shown here:
    solr.dir=/install/solr-8.6.2
  4. Execute the Ant script:
    ANT solr_standalone_config

    The Ant script creates a Solr core for CS-FCFBU1 (or for whichever business unit that you are configuring). You need to make some changes to the configured files in those folders in order for Solr 8.6.2 to start without errors.

     
    1. Edit the schema.xml file that resides in the $SOLRHOME/server/solr/CS-FCFBU1/conf/ directory, as described below:
      • The enablePositionIncrements argument is invalid for the solr.StopFilterFactory filter when the value for luceneMatchVersion is great than or equal to 5.0:

        Remove line 260, which says EnablePositionIncrements="true"
        Remove line 278, which says EnablePositionIncrements="true"
        Remove line 302, which says EnablePositionIncrements="true"
        Remove line 321, which says EnablePositionIncrements="true"
        Remove line 335, which says EnablePositionIncrements="true"
        Remove line 346, which says EnablePositionIncrements="true"
        Remove line 369, which says EnablePositionIncrements="true"
        Remove line 383, which says EnablePositionIncrements="true"
         

      • The defaultSearchField parameter was removed in Solr 7, so make the following change:

        Change line 694 so that <defaultSearchField> is updated to <df>.


      • The defaultOperator parameter in the solr query parser is no longer supported. Use the q.op parameter instead. The defaultOperator parameter was removed because it does not belong in the scope of the schema.xml file. It is more appropriate to add this parameter to any specific search handlers in the solrconfig.xml file that need it.

        Remove lines 699–700:  <solrQueryParser defaultOperator="OR"/>


      • The WordDelimiterFilterFactory parameter was deprecated, so use WordDelimiterGraphFilterFactory instead. This parameter produces a correct token graph. You must globally search for WordDelimiterFilterFactory and replace each reference with WordDelimiterGraphFilterFactory. This change applies to lines 34, 41, 55, 186, 198, 231, 237, 254, 264, 289, 308, 329, and 339.

      • The Trie fields are deprecated, so you must change those references to using Point type fields to boost performance. Remove the precisionStep and positionIncrementGroup attributes and add the docValues="true" attribute instead.

        Lines 98–101 appear as follows:


        <fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/>
        <fieldType name="float" class="solr.TrieFloatField" precisionStep="0" positionIncrementGap="0"/>
        <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
        <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0"/

         

        However, you must change them to match what is shown here:


        <fieldType name="int" class="solr.IntPointField" docValues="true" />
        <fieldType name="float" class="solr.FloatPointField" docValues="true" />
        <fieldType name="long" class="solr.LongPointField" docValues="true" />
        <fieldType name="double" class="solr.DoublePointField" docValues="true" />

         

        Lines 113–116 appear as follows:


        <fieldType name="tint" class="solr.TrieIntField" precisionStep="8" positionIncrementGap="0"/>
        <fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8" positionIncrementGap="0"/>
        <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8" positionIncrementGap="0"/>
        <fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" positionIncrementGap="0"/>

        However, you must change them to match what is shown here:


        <fieldType name="tint" class="solr.IntPointField" docValues="true" />
        <fieldType name="tfloat" class="solr.FloatPointField" docValues="true" />
        <fieldType name="tlong" class="solr.LongPointField" docValues="true" />
        <fieldType name="tdouble" class="solr.DoublePointField" docValues="true" />

         

        Lines 145 and 148 appear as follows:


        <fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/>
        <fieldType name="tdate" class="solr.TrieDateField" precisionStep="6" positionIncrementGap="0"/>

         

        However, you must change them to match what is shown here:


        <fieldType name="date" class="solr.DatePointField" docValues="true" />
        <fieldType name="tdate" class="solr.DatePointField" docValues="true" />

         

    2. Edit the solrconfig.xml file that resides in $SOLRHOME/server/solr/CS-FCFBU1/conf/, as described below.
      • Line 24 appears as follows:
        <luceneMatchVersion>4.7</luceneMatchVersion>
         

        However, you must change the value to match what is shown here:

        <luceneMatchVersion>8.6.2</luceneMatchVersion>

      • After defaultSearchField is removed from the schema.xml file, you must add it to the SolrSearchHandler.
         

        After line 142, insert the following information:

        <str name="q.op">OR</str>

    3. Execute two more targets in the Ant script:
      $ANT solr_standalone_start
      $ANT solr_standalone_core

  5. In your browser, navigate to the Solr Admin URL at http://solrserver:8983/.

  6. Import data and confirm that the import is successful.

  7. Conduct some test searches from the application to confirm that the new Solr server is working as expected.


Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Anti-Money LaunderingMicrosoft® Windows® for x647.1
64-bit Enabled AIX7.1
64-bit Enabled Solaris7.1
Linux for x647.1
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.