What is the best practice to throttle search requests? Does Elasticsearch provide any configurations to throttle search requests?
Is there a way to prioritize different types of queries (e.g. prioritize search over indexing)?
If throttling is available, is it specific to index, or is that a global configuration/setting?
We have load balancing via consul and I was able to find a way to throttle merge (indexing), but nothing for search. Before we write our own token bucket/throttling algorithm, wanted to check if there was something we can leverage. Thank you in advance.
Yeah, that occurred to me, but I wouldn't consider suddenly rejecting searches to be a deterministic throttle. Moreover, it very much doesn't come close to any of the criteria you detailed, and that will affect all users, all indices, all types.
Agreed. We will probably create our own throttler unless you have suggestions (if there is something opensource available in the market that other clients already use)
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.