商品フィルターで20以上のカテゴリーを選択すると、ElasticsearchStatusExceptionが発生します。

問題

  • 再現するための手順
    1. Liferay DXP 7.4
    を起動します。2. Global Site > Categorization > Categories に移動します。
    3. 20以上のカテゴリーを作成します。
    4. ここで、Products > FILTERSをクリックします。
    5. 作成したフィルタをすべて選択します。
    期待される結果 製品にフィルターをかけ、コンソールに例外を発生させないこと。
    実際の結果 すべてのフィルタを選択すると、以下のような弾性検索例外が発生します:
    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
  • コマース4.0

解決策

  • この問題は、 、検索キーワードが多すぎるために発生します。
  • エラスティックサーチの問題を軽減するために、ユーザーは indices.query.bool.max_nested_depth プロパティの上限を増やすことを試みることができます。 ただし、値を大きくすると、性能低下やスタックオーバーフローが発生することがあります。

追加情報

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています