Elasticsearchの高価なクエリを無効にすると、Liferayで検索の問題が発生することがあります。

問題

デフォルトでは、Elasticsearch は search.allow_expensive_queries を true に設定します。 しかし、これをfalseに設定すると、コンテンツを検索できなかったり、Liferay Search Blueprintsが機能しないという問題が発生する可能性があります。
のようなエラーが表示されるかもしれません:

java.lang.RuntimeException: org.elasticsearch.ElasticsearchStatusException: ElasticsearchStatusException[Elasticsearch exception [type=search_phase_execution_exception, reason=all shards failed]]; nested: ElasticsearchException[Elasticsearch exception [type=exception, reason=[joining] queries cannot be executed when 'search.allow_expensive_queries' is set to false.]];

Environment

  • Elasticsearch
  • Liferay 7.0-7.4

解決策

search.allow_expensive_queries をtrueのままにしておく。 こうすることで、Elasticsearchは、 Date Mathのような、より複雑なクエリを実行できるようになります。

追加情報

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