私が管理している Discourse で、コミュニティの注目を集めるトピックを強調表示したいと考えています。現在、それらは(単一のユーザー、未解決、2 日以上前)というやや複雑な検索クエリを通じて取得されています。ナビゲーションバーに、関連する検索にリダイレクトするリンクを正常に追加しました。
次に、「New」や「Unread」項目のように、そのアイテムに一致するトピックの数を表示したいと考えています。検索結果は以下のコードで取得できます。
const ajax = require('discourse/lib/ajax').ajax;
ajax("/search.json" + search_query).then (function(result){
console.log(result);
});
しかし、これは無駄に思え、おそらくページ読み込みごとに実行したくありません(1 日あたり約 15,000 ページビューがあります)。そのため、以下の質問があります。
<head>テーマ部分からこのクエリを呼び出すと、ページ読み込みが遅くなると予想されますか?それとも、クエリは(ページの大部分が読み込まれた)後で透明に実行されるでしょうか?- 効率性が問題になる場合、一致するトピックの詳細をサーバーが送信することなく、検索結果の数だけをクエリすることはできますか?あるいは、少なくとも 1 つの一致するトピックがあるかどうかの yes/no 回答だけを取得することはできますか?
ヒントをいただければ幸いです。