Query limits and caching configuration for searchers can be configured by specifying properties on the index searchers configuration.
This page documents all available searcher properties.
Max Search Rows
By default, any query that requires retrieval of more than 5,000 rows will fail. This prevents unbounded memory usage of queries. In practice, this limit applies to the sum of the query's rows and offset parameter values.
The maximum number of rows that can be returned for a search (0 = unlimited)
If you need to retrieve more than the default 5000 documents, we recommend that you use the Streaming Query API instead of altering searchMaxRows.
You can use the search cache to cache the top N results from queries in memory. This caching speeds up retrieving a query's additional pages (for example, get search results 1-10, 11-20, etc.), and improves search performance for frequently-run queries because the results are not read from disk.
maximum number of search results to cache
percentage of cached search results to use to autowarm the next index
maximum number of rows to cache for a search result
window of rows to cache for a search result (search internally always collects this many rows at a minimum)
As part of the COMMIT processing for an AIE Index, the most recent N queries (where N = searchAutoWarmFactor * (number of cached queries)) from the Search Cache are re-run to warm the new index by repopulating the Search Cache with the latest results for those queries.
The searchAutowarmFactor property has an impact on AIE Index COMMIT time. Setting this value to 0.0 results in no impact at COMMIT time, however, it also means that no previous searches will cache for new indexes, and after a COMMIT, every search will require reading from disk until the cache is repopulated.
The filter Cache caches the matching documents for filter queries. If the same filters are commonly used in queries, caching these filters results in a high cache hit ratio (# of times a filter was found in the cache/total # of query requests with filters) on this cache, speeding up of average query execution.
maximum number of filters to cache
percentage of cached filters to use to autowarm the next index
As part of the COMMIT processing for an AIE Index, the most recent N queries (where N = filterAutowarmFactor * (number of cached queries)) from the Filter Cache re-run to warm the new index by repopulating the Search Cache with the latest results for those queries.
The filterAutowarmFactor property has an impact on AIE Index COMMIT time. Setting this value to 0.0 results in no impact at COMMIT time, however, it also means that no previous searches will cache for new indexes, and after a COMMIT, every search will require reading from disk until the cache is repopulated.
The document cache caches frequently requested documents from the AIE Index. If the same documents are returned by many searches, this cache reduces the (Input-Output) IO processing required to return results.
minimum size for per segment document cache
maximum size for per segment document cache
percentage of documents to cache
The document cache is kept on a per-segment basis. This means that during AIE Index COMMIT processing, the Document Cache for previously committed index segments will not be affected. New segments (created for new documents/merged segments/optimized index) will not add any documents to the cache until after the COMMIT completes and queries results from the new segment start filling the cache.
Per-Segment Cache Size Calculation
Use the following formula to determine the Document Cache size for each AIE Index segment:
The following properties are also available, however they are for expert use only.