こんにちは。
default_limit を 12345678 のように設定する最善の方法は何ですか?
1000行以上が必要だと仮定します。
こんにちは。
default_limit を 12345678 のように設定する最善の方法は何ですか?
1000行以上が必要だと仮定します。
default_limit が何を指しているのか分かりません。site_settings.yml には見当たりません。何をしようとしていますか?また、プラグインまたはテーマコンポーネント(開発に投稿されたため)で実行しようとしていますか?
わかりました、唯一の方法は次のように別の値を設定することです。
Discourse の設定 UI にもっと良い方法があることを期待していました。
./launcher enter app
cd /var/www/discourse/plugins/discourse-data-explorer/
sed -i 's/QUERY_RESULT_DEFAULT_LIMIT = 1000/QUERY_RESULT_DEFAULT_LIMIT = 12345678/g' /var/www/discourse/plugins/discourse-data-explorer/plugin.rb
sed -i 's/QUERY_RESULT_MAX_LIMIT = 1000/QUERY_RESULT_MAX_LIMIT = 12345678/g' /var/www/discourse/plugins/discourse-data-explorer/plugin.rb
確かに唯一の方法ではありません。
私のリンクにあるように、プラグインをフォークし、定数を変更して、フォークをクローンすることができます。
そのプラグインにプラグイン設定をPRすることもできます…
唯一の方法ではありません。ランチャーでそのような変更を行うことも可能です。他のテンプレートでファイルへの変更方法の例を確認できます。
他に方法がない場合、例を教えていただけますか。ありがとうございます。
最近、コードが新しい非表示設定に変更されました…
cd /var/discourse
./launcher enter app
sed -i 's/QUERY_RESULT_DEFAULT_LIMIT = 1000/QUERY_RESULT_DEFAULT_LIMIT = 10000000/g' /var/www/discourse/plugins/discourse-data-explorer/plugin.rb
sed -i 's/QUERY_RESULT_MAX_LIMIT = 1000/QUERY_RESULT_MAX_LIMIT = 10000000/g' /var/www/discourse/plugins/discourse-data-explorer/plugin.rb
sed -i 's/default: 1000/default: 10000000/g' plugins/discourse-data-explorer/config/settings.yml
sed -i 's/max: 10000/max: 10000000/g' plugins/discourse-data-explorer/config/settings.yml
rails c
SiteSetting.data_explorer_query_result_limit=1000000
exit
exit
reboot
最も先進的な方法で、そのような「隠し設定」をどのように変更できますか?
このプラグインの基本的な制限を変更するためにコードを編集する必要がないことを願っています。
サーバーにアクセスできる場合は、レールコンソールを使用して非表示のサイト設定を変更できます。
cd /var/discourse
./launcher enter app
rails c
SiteSetting.data_explorer_query_result_limit = 10000
上限は10,000ですが、これは「画面に」表示される結果の数にすぎないと私は信じています。デフォルトの1000の設定でも、すでに10,000の結果をエクスポートできます。
スプレッドシートなどにエクスポートして結合するためにバッチを取得したい場合は、クエリにページオフセットを追加することが役立つと思います。例:
-- [params]
-- integer :page = 0
-- integer :limit = 10000
SELECT
category_id,
created_at::date,
id AS topic_id,
views
FROM topics
WHERE deleted_at IS NULL
ORDER BY created_at DESC
OFFSET :page * :limit
LIMIT :limit
API経由でクエリを実行した際に1000件しか結果が得られませんでした。リクエストごとのオーバーヘッド(データベースへの直接リクエストの100倍)を考慮すると、複数のクエリを実行するよりも、この制限を増やす方が良いです。![]()
このレールコンソールのアプローチは、ソフトウェアのアップグレードや再起動後も永続しますか?
レールコンソール経由でサイト設定を変更することは、UI経由で行うことと同じです(UIがない隠し設定については、
)。そのため、変更は保持され、再構築や再起動などの影響を受けません ![]()
API経由で実行することに関する私の知識は、通常のやり方ほど良くはありませんが、このトピックのレールコンソールで設定を変更せずに全10,000件を取得する方法があると思います - Run Data Explorer queries with the Discourse API
ありがとうございます。その limit=ALL パラメータで解決しました。