Hi there,
I have a real-time search AEM servlet which is called on per every search filter... because of the nature of the full-text search for each given page (we have like 5000 pages). Without using tools like Solar search, we are limited to using lucene search and indexing. Could anyone explain a more feasible or best practices that we can take to ensure that each real-time search is performant, and will not bring down out publishers?
Solved! Go to Solution.
Views
Replies
Total Likes
A few things to consider:
* Make sure that the search is always using an index.
* Cover the search functionality in your performance tests (and please use a wider variety of search terms; I had a case where all tests just searched for a single term and therefor just tested some custom caching layer instead of the search itself ...)
* Even if you have the best search implementation and you return search results within 100ms, each one of these requests cannot be cached, and they will hit consistently the publish instances. This is an angle to bring down the publish systems which you cannot avoid in your design. Think about rate limiting the access to search functionality.
A few things to consider:
* Make sure that the search is always using an index.
* Cover the search functionality in your performance tests (and please use a wider variety of search terms; I had a case where all tests just searched for a single term and therefor just tested some custom caching layer instead of the search itself ...)
* Even if you have the best search implementation and you return search results within 100ms, each one of these requests cannot be cached, and they will hit consistently the publish instances. This is an angle to bring down the publish systems which you cannot avoid in your design. Think about rate limiting the access to search functionality.
@AEMWizard Indexing would help in improving search performance, Probably load balancing strategies on publishers is an option as in your design it consistently hits the publish instances for each search result and can not be cached.
Views
Likes
Replies