Optimal value for indices.query.bool.max_clause_count


(Ffoysal) #1

We have 200K documents and each one has a title field. When we search for a single letter, it will generate huge number of search hits. Just wondering what value should we chose for the setting indices.query.bool.max_clause_count


(Mark Harwood) #2

That setting is a protection against abusive queries with many search terms. It is unrelated to the number of search hits any query might produce. What problem are you trying to solve?


(Ffoysal) #3

We were using hibernatesearch and set this property hibernate.search.default.booleanQuery.MaxClauseCount= 4096

For some regex queries with single character it was throwing exception of maxClauseCount exceed.

Just wondering if we are going to hit the same excepetion again with elasticsearch.


(Mark Harwood) #4

The limits are there for a reason - many clauses = many lookups = many disk seeks.
Assuming a worst case-scenario of a spinning disk with an average 5ms seek time you can see how thousands of terms will slow down your searches. Obviously file system caching alleviates some of this cost but we can't assume all of the index is cachable in the default settings.


(system) #5

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.