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 address127.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:
Navigate to the Search API Server you are trying to configure.
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.
Does Acquia Search support near-realtime search?
No, Acquia Search does not support near-realtime search. The required
configuration would jeopardize the Search-as-a-service platform and cause
issues with performance and stability. Also, Acquia does not allow the
modification of the solrconfig.xml
file to increase the frequency of
auto commits.
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.
Can I use Nutch to index my non-Drupal data for search?
Acquia Search does not support using Nutch to index external data. For data security, the Acquia Search architecture requires authentication, which Nutch does not natively support.
Acquia recommends exporting your non-Drupal content into a Drupal website using contributed modules such as Feeds or Migrate to transform your data into Drupal entities, which Acquia Search may then index.
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 zip archived. | Upload a zip file with a .zip extension. |
| 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. |
| A file is not present in the archive. | Insert the missing file into the archive. |
| 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. |
| The archive contains files with invalid format or content. | Confirm that the files follow the custom configset file requirements before archiving. |
| 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. |
| Unnecessary files are present in the archive. | Remove the unused or unwanted files from the archive. |
| 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. |
| 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 size is more than 1 MB. | Upload a file under 1 MB. |
| There is an unknown issue uploading the configset. |
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:
Run the following command:
drush -vd search-index
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
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
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.