Information for: DEVELOPERS   PARTNERS

Custom Solr configuration

This documentation page describes features and procedures for a limited availability release, and its contents may change at any time. Acquia does not recommend bookmarking this page as its location may change without notice.
The following documentation is for Acquia Search with Solr 4. Custom Solr configurations are not yet supported for Acquia Search with Solr 7. For more information on Solr 7 limitations, see Moving to Acquia Search with Solr 7.

Acquia Search provides preconfigured Solr search configurations working with the most popular search modules, and are available for several languages. You can select one of the configurations using the Search page in the Acquia Cloud interface, as described in Selecting a language. Choosing a different search schema supports websites whose primary language is other than English.

Other customizations of the default Acquia Search configuration files are possible (for example, to support websites in other primary languages or other content-indexing behavior, like word-splitting rules or n-gram tokenizing). These kinds of Acquia Search customizations are available only for Acquia Cloud Enterprise subscribers or subscribers with an Enterprise Acquia subscription. Enterprise subscribers can change their schema.xml, elevate.xml, synonyms.txt, stopwords.txt, and protwords.txt files, subject to the following limitations:

Note

Modifications must begin from the stock configuration files used with Acquia Search. You can retrieve the configuration files residing on the Solr server from Drupal, using either of the following methods:

  • Apache Solr Search Integration module. Navigate to Reports > Apache Solr search index and select a server. Use the Configuration Files tab to find the Solr configuration files.
  • Search API Solr module. Navigate to Configuration > Search API, then click a server name. Use the Files tab to find the Solr configuration files.
  • You can start an Acquia Search customization by filing a support ticket with Acquia.
  • Subscriber requests to create Acquia Search customizations are processed every week. Requests submitted by the end of Acquia business hours in the local Acquia support region each Monday are processed on Wednesday of the same week.
  • An Acquia Search customization request ticket has the following requirements:
    • One or more Solr configuration files must be attached to the ticket.
    • The attached files must be UTF-8-encoded without a Byte Order Mark (BOM), with LF (Unix-style) line endings.
    • The ticket can request changes to more than one Solr index, but only if all files deploy to all mentioned indexes at the same time.
    • One or more Acquia Search index IDs or URLs. The index IDs are found in the following locations:
    • For Search API: In the Drupal administrative user interface, under Config > Search API, and then select the server page.
    • For ApacheSolr: In the Drupal administrative user interface, under Config > Apache Solr Search Integration > Settings.
    • Signed in to Acquia Insight: Under Sites, select a Sitename, and then click Search.
  • For information about validating your changes before you submit them to Acquia, see How to test a custom Solr schema file locally.
  • When you provide Acquia with modified files, ensure you exclude the clustering, velocity, and xslt folder or any *.html, *.7z, *.conf or *.js file. Provide only the files you have modified and state what you changed.
  • Acquia must check modifications to the files before they are deployed.
  • Consulting on configuration file changes is outside the scope of Acquia Support.
  • Modifications of the solrconfig.xml file are not generally permitted. Provide added behavior using the solrconfig_extra.xml file. If your use case requires solrconfig.xml modification, contact Acquia Support for a case-by-case evaluation. Acquia reserves the right to deny any such changes.
  • Acquia does not support the use of the Apache Solr File module, because it requires modifications of the solrconfig.xml file.
  • Acquia does not permit modifications of the solrconfig.xml file to increase frequency of autocommits.
  • Acquia reserves the right to deny configuration changes if there is evidence the changes will cause service disruption, added server load, or potential disruption of service for other subscribers.
  • Subscribers are responsible for testing configuration changes before submitting them to Acquia. Customizations not passing Acquia’s automated basic configuration integrity test will be rejected without investigation. Acquia will notify the subscriber of the failure, and it’s the subscriber’s responsibility to correct the custom configuration file and test the file locally.
  • Acquia does not perform testing to ensure search configuration modifications will perform as intended. The subscriber must perform the required testing.
  • Acquia Search does not support real-time search.

If you require fine-grained or frequent search configuration customizations, you may want to consider a hosted Apache Solr provider, rather than a software-as-a-service offering like Acquia Search.

Downloading your configuration files

You can download copies of your current configuration files by completing the following steps:

  1. Sign in to your Drupal website as an administrative user.

  2. Complete the following steps based on your installed search module:

    Apache Solr Search module

    1. In the admin menu, click Reports.
    2. Click the Apache Solr search index link.
    3. Click the Configuration Files tab.


    Search API module

    1. In the admin menu, click Configuration.
    2. In the Search and metadata section, click the Search API link.
    3. Click the name of the search server to select it, and then click the Files tab.
    4. Identify the file you want to download, and then click the file name to view it.
    5. Copy the text into a text file, and then save it with the same file name locally.

Custom configuration best practices

  • EdgeNGrams must be used instead of NGram, and only on short text fields, to avoid performance problems and uncontrolled growth of index file sizes.
  • Encode configuration files in UTF-8.
  • Any and all configuration file changes must be tested before submitting to Acquia, on a non-Acquia-hosted Solr instance. Retrieve the current configuration files through Drupal itself by either of the following methods:
    • If using the ApacheSolr module: go to Reports > ApacheSolr and select a server. Then, use the Configuration Files tab to open the Solr configuration files.
    • If using the Search API Solr module: go to Configure > Search > Search API and select a server name. Use the Files tab to open the Solr configuration files.
  • To generate an elevate.xml file, we recommend using the Solr Best Bets module.

Important

Problems in configuration files supplied to Acquia can result in Acquia Search Solr instances to fail to restart after configuration changes, and search will become unavailable to any connected websites or environments.