問題
-
再現するための手順
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 プロパティの上限を増やすことを試みることができます。 ただし、値を大きくすると、性能低下やスタックオーバーフローが発生することがあります。
追加情報
会員限定記事
Liferay エンタープライズ サブスクリプションをお持ちのお客様は1500件を超えるベストプラクティス、トラブルシューティング、その他のソリューション記事を閲覧できます。ログインすると、記事全体をお読みいただけます。
ログイン