I have a problem, I can't do a text search in Elasticsearch. I need to find something like "Text to find". When I try to search, an error occurs.
I tried to change the indices.query.bool.max_clause_count from 1024 to 4096, but that didn't change anything, the error still appears.
The problem was that I added to elasticsearch.yml indices.query.bool.max_clause_count on the cluster, but did not add it on the nodes on which the index is sharded. After adding it on all necessary nodes, everything worked.
No, unfortunately, I was in a hurry. Changing indices.query.bool.max_clause_count: 4096 on nodes where the index is sharded does not solve the problem.
I'm just trying to find something like “Something.”
Response is:
Kibana by default searches across all fields. As that can take a significant amount of memory, the total number of fields that can be used in a query is limited.
You can specify the field(s) you want to search on (using a KQL query like field_name: value) so you don't run into this limitation.
The actual limit depends on the number of search threads and the available heap for the JVM, and is not something that can be otherwise modified. You will need to limit the fields you are querying by specifying them in your query.
The thing is, this search was working before -- a couple weeks ago. And it stopped working all of a sudden. I guess the number of fields in the indexes has increased, I don't know exactly.
And if I'm not mistaken, the indices.query.bool.max_clause_count: 4096 parameter is responsible for this limit.
If I change it on the cluster nodes, I should see an error not field expansion matches too many fields, limit: 1024, got: 5961, but field expansion matches too many fields, limit: {{ [4096 in my case] }}, got: 5961
Am I understanding this correctly?
The number of fields on the indices have increased.
the indices.query.bool.max_clause_count: 4096 parameter is responsible for this limit.
It's a different limit. indices.query.bool.max_clause_count is the maximum number of clauses in a bool query. But the limit you're hitting is the overall number of fields being queried, which is a limit that just depends on the number of search threads and JVM heap memory available. You can't modify this limit via settings, just update your query to target specific fields or reduce the number of fields in your indices.
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.