Results Cache

The Results Caching profile tool allows management of the results cache for the profile. If enabled (here), the results cache can improve search response time by caching frequently used search results: if a later query is made with the same query string parameters, it may be found in the cache, thereby saving the time needed to run the query again.

On the Results Caching profile tool page, the status of the cache manager is reported (whether it is running, and what process ID). The cache manager runs in the background, deleting old entries and refreshing the cache if requested. The size of the cache table (if it exists) is also shown, both number of entries and size in bytes. Old entries are deleted as per the current Results Caching settings (here).

Several actions can be performed on the cache, if results caching is enabled:

  • Clear - Clears the results cache table. All previously cached results will be removed. This can also be used to free up disk space if needed.

  • Start Refreshing - Mark all entries for refresh. The cache manager will then start refreshing the cache in the background, starting with the highest-priority entries: queries will be re-executed to ensure the cache entries reflect the latest crawl data. This can increase load on the machine, as the cache manager will now be executing queries (though only serially, one at a time). Existing cache entries marked for refresh - but not yet actually refreshed - are still otherwise valid, i.e. they may still be used to resolve user searches.

  • Stop Refreshing - Mark all entries as not needing refresh. This will stop the cache manager from executing queries to refresh the cache, and thus may reduce machine load. The manager will still continue to run to expire old entries, etc.

  • Import - Import cache queries (without results data) from another profile, and mark for refresh. This will copy the results cache from another profile, but since each profile's crawl data is different, the actual search results will not be copied, as they would be invalid. Thus, the entries will not have search data (and cannot service requests), but will be marked for refresh by the cache manager. This option can be used to "prime the pump" when creating a new profile to replace an existing live profile as the default: the existing profile's queries can be copied over and refreshed. When the refresh is complete (indicated by "no entries marked for refresh"), the new profile can be made live, and will already have a largely up-to-date cache.

Caveats: As results caching currently only takes into account the query string to differentiate requests, it should not be enabled under results authorization or other scenarios that utilize additional data (such as cookies or request headers) for search requests. The results cache is stored in the same database as the profile crawl data, so it is deleted and started anew for each New type crawl - just as the crawl data its results are based on starts anew with New type crawls. If a Refresh crawl is done that significantly changes the crawl, the cache should probably be cleared to avoid stale or out-of-date results; alternatively, the Max Cache Entry Age setting might be decreased.


Copyright © Thunderstone Software     Last updated: Oct 10 2023
Copyright © 2024 Thunderstone Software LLC. All rights reserved.