Solr Cloud - 約200万件のレコードでクエリを実行するとタイムアウトします。

トピック作成者:ks-solruserml-bot (2024/06/22 19:14 投稿)
4
CloseClose

(The bot translated the original post https://lists.apache.org/thread/wzswqdowwr92bt1zhnskk48p7o8dkd1x into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

こんにちはチームの皆様、

お元気でしょうか。Solr Cloudを使用している際に、ユーザーが約200万件のデータを含むクエリを実行すると、タイムアウトするという問題が発生しています。同じクエリを単独のSolrで実行すると正常に結果が返されます。追加の設定が必要かどうか、ご提案いただけますでしょうか。

使用しているバージョン:

  • Solr: 8.8
  • Zookeeper: 3.6.2

設定:

  • ヒープサイズ: 24 GB
  • クラスター: 3ノード、SolrとZookeeperは同じEC2インスタンスに配置しています。

よろしくお願いします。
Venkat

返信投稿者:ks-solruserml-bot (2024/06/22 19:14 投稿)

こんにちは、Venkat 様、

2百万件のデータを1回のレスポンスで返すという意味ですか?ページネーションを検討することをお勧めします。特に、cursorMark を使用する方法をご検討ください。

参考資料: Solr ページネーションのガイド

よろしくお願いします。
Thomas

返信投稿者:ks-solruserml-bot (2024/06/22 19:14 投稿)

単独の Solr から 4,000 万レコードを含むレスポンスをダウンロードすることができました。ただ、時間がかかりますし、wget を使用してタイムアウト時間を長く設定する必要があります。ブラウザでそのサイズをダウンロードしようとすると、処理時間が長すぎてブラウザがクラッシュする可能性があるかもしれません。

返信投稿者:ks-solruserml-bot (2024/06/22 19:14 投稿)

こんにちは、

SolrCloudで行おうとしていることはうまくいかない可能性があります。その理由は、Solrが求められた結果を得るためにノードから大量のレコードをマージしなければならないためです。このマージ作業は非常にリソースを消費するタスクです。また、結果の数が限定されているにも関わらず、深いページングもそれほど改善にはなりません。なぜなら、Solrは依然として大規模なマージを行う必要があるからです。Thomasが提案したように、cursorMarkを使用することがこれらの結果を取得する唯一の方法です。詳細はドキュメントを参照してください:

https://solr.apache.org/guide/8_8/pagination-of-results.html#performance-problems-with-deep-paging

よろしくお願いします。
Ere

返信投稿者:ks-solruserml-bot (2024/06/22 19:14 投稿)

また、タイムアウトがトランスポートレイヤーで設定されていないか確認してください。多くの場合、トランスポートレイヤーのタイムアウトがデフォルトの300秒で設定されており、このタイムアウトがレスポンスストリームを中断させる原因となることがあります。

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2024 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?