Troubleshooting search - high level process

Troubleshooting search issues usually starts with one of the following scenarios.

  • Observing an error message displayed on the search dashboard.

  • Responding to an error message, usually sourced from a log file. e.g.

    • An error message in a log such as URLStore reported no documents stored!.

    • A detailed Java stack trace.

  • Observing an unexpected behaviour, usually in the search results or reports. e.g.

    • Why is page X not returned in the search results?

    • Why are my results ranking in a particular way?

    • What are the weird queries showing in my analytics?

    • Why is my metadata missing in the search results?

    • Why is the metadata or summary truncated in the search results?

When you start debugging an issue it is often not obvious where to start looking. However, there are a few basic checks you can do as part of your initial investigation.

  1. If it’s obvious that it’s an update issue (as you’re responding to an error from your logs) then you can start investigating the issue.

  2. If the issue is showing up in the search interface then start at the frontend and work backwards. Make sure you start your investigation by accessing Funnelback directly with a query that triggers the issue - i.e. isolate Funnelback from anything that wraps it (see the tutorial below on how to do this).

  3. If your search has separate query processors make sure you are accessing those if you’re testing a frontend issue. If the issue is intermittent make sure you check each query processor individually as it could be an index that is out of sync.

  4. If you can see the error being returned by Funnelback when accessing one of Funnelback’s endpoints directly then check the underlying data model to see if the issue is reflected there.

    • If the issue is present when accessing search.html but not in search.json or search.xml then there is probably an issue in your search template.

    • If the issue is relating to missing or truncated metadata then check your query processor options to ensure that the interface is configured to return the fields (e.g. included in the summary fields list, and that the summary mode is set correctly) and that the buffer sizes (MBL, SBL) are large enough.

  5. If the error is reflected in the data model check:

    • For any hook scripts that might modify the data model

    • Check the index/configuration settings (e.g. metadata mappings, index and gather logs).

Update and query time issues

When troubleshooting a search issue it is vital to determine if the error is a query-time or update-time issue.

Some problems could be the result of a query time or update time issue.

Query-time issues

  • Query-time issues are problems that occur when a query is processed by Funnelback. Query time issues include:

    • Search result ranking issues

    • Template errors

    • Missing metadata

Data source update issues

  • Update-time issues are problems that occurred during the collection update. This includes:

    • Anything that results in an update failure email being sent, or a collection update failure recorded in the search dashboard.

    • Update failure or missing documents as a result of network errors, timeouts or misconfiguration.,

    • Missing metadata in the index (e.g. because it hasn’t been mapped, due to a filter error or truncated by the indexer).