Selecting more than 20 categories in the product filter gives the ElasticsearchStatusException

Issue

  • Steps to reproduce:
    1. Start Liferay DXP 7.4 
    2. Navigate to the Global Site > Categorization > Categories.
    3. Create more than 20 categories.
    4. Now, navigate to Products > Click on FILTERS.
    5. Select all the created filters.
    Expected Result: It'll filter the product and no exception must be thrown in the console.
    Actual Result: While selecting all filters, it's throwing the below elastic search exception:
    2023-02-24 12:41:13.479 ERROR [http-nio-8080-exec-2][ElasticsearchIndexSearcher:164] null
    java.lang.RuntimeException: org.elasticsearch.ElasticsearchStatusException: ElasticsearchStatusException[Elasticsearch exception [type=x_content_parse_exception, reason=[1:508] [bool] failed to parse field [must]]]; nested: ElasticsearchException[Elasticsearch exception [type=x_content_parse_exception, reason=[1:508] [bool] failed to parse field [must]]]; nested: ElasticsearchException[Elasticsearch exception [type=x_content_parse_exception, reason=[1:508] [bool] failed to parse field [filter]]]; nested: ElasticsearchException[Elasticsearch exception [type=x_content_parse_exception, reason=[1:508] [bool] failed to parse field [must]]]; nested: ElasticsearchException[Elasticsearch exception [type=x_content_parse_exception, reason=[1:508] [bool] failed to parse field [should]]]; nested: ElasticsearchException[Elasticsearch exception [type=x_content_parse_exception, reason=[1:508] [bool] failed to parse field [should]]]; nested: ElasticsearchException[Elasticsearch exception [type=x_content_parse_exception, reason=[1:508] [bool] failed to parse field [should]]]; nested: ElasticsearchException[Elasticsearch exception [type=x_content_parse_exception, reason=[1:508] [bool] failed to parse field [should]]]; nested:

Environment

  • Liferay DXP 7.4
  • Commerce 4.0

Resolution

  • This issue is observed due to the search having too many search terms.
  • In order to mitigate the elastic search issue, the user can try to increase the limit of the indices.query.bool.max_nested_depth property. However, a higher value can result in performance degradation and stack overflow.

Additional Information

¿Fue útil este artículo?
Usuarios a los que les pareció útil: 0 de 0