Note
Acquia Search may experience downtime when servers are rebooted for security reasons.
Use the following steps when you troubleshoot issues with Acquia Search:
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.
In Drupal 9 or later, 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.
The Apache Solr Search module includes a group of Drush commands you can use to work with your search environments. The following list includes several useful commands:
Command | Description |
---|---|
solr-delete-index |
Deletes the content from the index (can accept content types as parameters). |
solr-get-env-id |
Retrieve the default Apache Solr environment ID, or all environment IDs and names. |
solr-get-env-name |
Retrieve the Apache Solr environment name. |
solr-get-env-url |
Retrieve the Apache Solr environment URL. |
solr-index |
Re-indexes the content marked for re-indexing. |
solr-mark-all |
Marks content for re-indexing (can accept content types as parameters). |
solr-search |
Search the website for keywords using Apache Solr. |
solr-set-env-url |
Retrieve the URL of an Apache Solr environment. |
solr-variable-delete (solr-vdel ) |
Delete an Apache Solr environment variable. |
solr-variable-get (solr-vget ) |
Retrieve a list of Apache Solr environment variable names and values. |
solr-variable-set (solr-vset ) |
Retrieve an Apache Solr environment variable. |
solr-set-derived-key |
Sets an environment to be active for Acquia Search using a specific derived key—you must use your Acquia Identifier and Network Key to set the number. You can find those numbers on the Acquia Network Subscription page, under Acquia Network keys. |
For more information about the preceding commands, run drush help
from
the command line of your application where Acquia Search is installed.