Cloud Platform

FAQs and troubleshooting

Basic troubleshooting steps for the Acquia Search module

To resolve issues with the Acquia Search module:

  • Use the Acquia Search module messages on a Search API server or on an index page to understand why the module is failing.

  • If the module is trying to connect to localhost or to the IP address 127.0.0.1, the Acquia Search module is not configured as expected or cannot detect the appropriate search index based on environment variables.

  • Check that the Drupal site can properly reach the Acquia Search API service, which provides the list of available Solr indexes for your application to your Drupal site. To check the site connection with the Acquia Search API Service, complete the following steps:

    1. Navigate to the Search API Server you are trying to configure.

    2. Click Edit.

    If properly connected, the system displays a list of available search indexes in the SOLR INDEXES CURRENTLY AVAILABLE FOR YOUR APPLICATION box.

  • If you are running the Acquia Search module on a non-Acquia environment, you must use $settings['acquia_search']['override_search_core'] to point the module to a search index. For more information, see README.txt.

  • The Acquia Search module has some hidden settings. For more information, see README.txt.

Important

Acquia recommends using the Solr Devel module to debug Solr indexing and queries. For troubleshooting, see Using Solr Devel module to debug Solr indexing and queries.

What parts of my website does Acquia Search include in the search index?

When you configure Acquia Search, you decide what entity types get included in the search index and are available to return to users as search results. Examples include nodes like articles, pages, and blocks, taxonomy terms, users, and files. You can include file attachments, if you install and configure the Drupal 7 Apache Solr Search Attachments module.

Can I search using logical operators?

Yes, Acquia Search uses the Apache Lucene Query Parser Syntax.

Can I search using wildcards?

Yes, you may use \* (several characters) and ? (single character) wildcards. Searches may not begin with wildcards or other logical operators.

Does Acquia Search support attachment indexing?

Yes. This feature requires installing and configuring the Apache Solr Search Attachments module. For setup and configuration information, see Indexing attachments with Apache Solr Search module.

Does Acquia Search support multisite search? Can I combine multiple content indexes from multiple hosts in the search results on my website?

Yes. This feature requires installing and configuring the Apache Solr Multisite Search module.

My website does not run in English; what can I expect?

Acquia Search can index websites in most languages, but Acquia Search passes content through a language-specific stemmer during indexing, depending on the search schema you have configured for your website. Acquia Search offers search schemas for Dutch, French, German, Spanish, and English. You can search other languages, but the search may produce less relevant search results because partial words, plurals and other variations may not be indexed as expected. For more information, see Selecting a language.

If your website is in a language other than Dutch, English, French, German, or Spanish, create a Support ticket to see whether a search schema specific to that language is available for you.

Does Acquia Search support server-side Solr configuration modifications?

You can select standard configurations on the Search page of the Acquia user interface. If you are an Enterprise customer who needs a custom configuration (typically a schema.xml or synonyms.txt file), you can upload your own custom configuration directly in the Cloud Platform user interface. For more information, see Custom Solr configuration. If you need help developing a custom configuration, contact Acquia sales to discuss your needs and implementation possibilities through Acquia’s professional services division.

Can I use the Search API module?

Yes, you can use the Search API module with Acquia Search. This is an alternative to using the Apache Solr Search module. Acquia Search for the current Drupal version requires the use of Search API, and won’t use the ApacheSolr module.

Don’t use both the Search API module and the Apache Solr Search module in the same environment.

For more information, read Using the Search API.

What counts as a search query toward my entitlement?

Acquia counts select (searching) and update (indexing) requests reaching the Acquia Search back end.

Can Drupal modules index more than one item at a time in a single Solr update request?

Yes, Drupal modules can index more than one item at a time in a single Solr update request.

Does my custom Solr 7 configset work with Solr 8?

Yes, both custom and provided Solr 7 configsets are compatible with Solr 8.

Custom configset error messages

Error message

Description

Resolution

The uploaded file is not a valid ZIP archive.

The uploaded file is not zip archived.

Upload a zip file with a .zip extension.

File in the archive starts with "Byte Order Mark".

The file in the archive starts with a Byte Order Mark (BOM) character. This character is added by Microsoft OS.

Remove the Byte Order Mark (BOM) character from the start of the file.

File in the archive refers to an unavailable file.

A file is not present in the archive.

Insert the missing file into the archive.

File has invalid line endings, Use Unix style.

The file contains lines with a line ending other than UNIX. Acquia Search supports UNIX style.

Use the UNIX line ending. This uses only “n” at the end of a line.

Found files with invalid content or format.

The archive contains files with invalid format or content.

Confirm that the files follow the custom configset file requirements before archiving.

Required file 'solrconfig.xml' is not found in the root of the archive.

The solrconfig.xml file is not found at the top-level directory.

The solrconfig.xml file must be present at the top of the archive directory.

Unwanted files found. Please remove or rearrange.

Unnecessary files are present in the archive.

Remove the unused or unwanted files from the archive.

Any error having prefix "Solr Error:".

This error message is generated at the Solr level after the basic validation is completed.

Test the configset on a local environment before uploading it to production.

Configset file you are trying to upload, already exists.

The configset is the same as an existing configset for your application. The new configset does not introduce any changes.

Use the existing configset with your desired settings or modify the configset and upload the updated file.

File is too large. Maximum size allowed is 1MB.

File size is more than 1 MB.

Upload a file under 1 MB.

Unknown Error

There is an unknown issue uploading the configset.

Create a Support ticket.

Troubleshooting Acquia Search with Apache Solr Search module

Note

Acquia Search may experience downtime when servers are rebooted for security reasons.

Use the following steps when you troubleshoot issues with Acquia Search with the Apache Solr Search module:

  • Attempt to connect from your local install using the subscription’s keys. You must disable and enable all the search modules to regenerate the salt variables. The step can determine if the issue is with the website or the search subscription.

  • Examine the version of the Apache Solr Search module.

  • If indexing appears to run fine but the results are sparse, examine /admin/settings/apachesolr/query-fields to ensure no major fields are configured to Omit. Also, scroll to the bottom of /admin/settings/apachesolr/content-bias and check which content types are excluded from indexing.

  • Find the last node indexed by completing the following steps:

    1. Run the following command:

      drush -vd search-index
      
    2. At some point, you’ll start seeing notices about what node IDs failed to index. Run the following command and note the limit:

      drush vget apachesolr_cron_limit
      
    3. Divide the number returned by the previous command by 2, and then use the resulting number with the following command:

      drush vset apachesolr_cron_limit [value]
      

      For example, if you have 100 results, run the following command:

      drush vset apachesolr_cron_limit 50
      
    4. Repeat the process, halving the limit each time until you reach 1 as the returned number.

    When you reach 1, you will know which node is causing problems.

    Another technique to find the last indexed node is to use the following command:

    drush vget apachesolr_index_last
    

    Use the following command for Drupal 7:

    drush php-eval 'module_load_include("inc", "apachesolr", "apachesolr.index"); $rows = apachesolr_index_get_entities_to_index(apachesolr_default_environment(), "node", 1); foreach ($rows as $row) { print_r($row); }'
    

    The reported node is probably where the indexing problem resides.

Exposed search filters, facets, blocks, and AJAX with Apache Solr Search module

In the current Drupal version, views exposed filters, such as search results and blocks with facets, must not have caching enabled alongside AJAX, as the views AJAX request does not pass along the ?f[0]= parameters used by exposed filters or facets to filter results as expected. The open issue on Drupal.org, AJAX facet block seems to lose views context, will be updated as the community identifies fixes and workarounds.