Notes about Search Subsystem in Alfresco

Search subsystem in Alfresco can be Lucene or SOLR type. In the default configuration for Alfresco 4, the search subsystem is SOLR. This can be set up in alfresco-global.properties
 
index.subsystem.name=solr
solr.port.ssl=8443
solr.host=localhost
dir.keystore=${dir.root}/keystore
   
where the SOLR application is deployed by default on the same Tomcat container, and it works with the 8443 SSL connector. It is important, as part of the Alfresco installation, generating the a certificate browser.p12
 
SOLR application has two cores preconfigured, one for the workspace and other one for the archive (which is not needed usually). The configuration can be found in solrcore.properties files:
 
${dir.root}/solr/workspace-SpacesStore/conf/solrcore.properties
${dir.root}/solr/archive-SpacesStore/conf/solrcore.properties
 
They look like:
 
data.dir.root=/opt/alfresco/alf_data/solr
data.dir.store=workspace/SpacesStore
alfresco.host=localhost
alfresco.port=8080
alfresco.port.ssl=8443
alfresco.baseUrl=/alfresco
alfresco.cron=0/15 * * * * ? *
alfresco.stores=workspace://SpacesStore
    
where it is specified, the location for the indices in the disk, the alfresco repository server (in this case localhost) and a cron job for tracking the DB indexation count from SOLR app to Alfresco repository services. In the default installation, SOLR application and Alfresco repository are installed in the same Tomcat container.
 
Some general considerations about your indices can be: 
  • Remember to store your indices in the fastest HD (always). Backup indices can be in slower ones. The location is set in conf/solrcore.properties
  • Do not forget to generate a new keystore for your Alfresco installation.
  • Consider to use SOLR in a different server from Alfresco repository (licensed) or at least in another Tomcat container in the same machine. This helps to reindex independently of the repository. In this last case, reindexing do not mean lost of service.
  • Install also an alfresco.war instance in your external SOLR server, connected to the Alfresco database for minimizing http traffic, in the indexation job.
  • If you have a SOLR cluster, consider to dedicate one node for indexation and another one for searching. Tune the mergeFactor in solrconfig.xml for each core, 25 is ideal for indexing, while 2 is ideal for search.
  • In solrconfig.xml of each core configure the ramBufferSize to be at least 64 Mb.
  • In a massive upload of documents consider to disable SOLR during the load.
  • Other interesting actions of the SOLR admin panel are related to get info about the health of SOLR:
            https://alfserver:8443/solr/admin/cores/action=SUMMARY
 
            or to fix the sync of the indices at:
 
            https://alfserver:8443/solr/admin/cores/action=FIX
 
  • The indices can always regenerate (although it can consume much time in large repositories). For SOLR, use this tip, removing the indices and reboot SOLR. For Lucene, index.recovery.mode = FULL
00

More Blog Entries

0 Comments