# 通过 AJAX 获取搜索结果数量的效率

**URL:** <https://meta.discourse.org/t/efficiency-of-getting-the-number-of-search-results-via-ajax/158866>\
**Category:** Development\
**Created:** [2020年七月26日 21:39 UTC](https://meta.discourse.org/t/efficiency-of-getting-the-number-of-search-results-via-ajax/158866 "2020-07-26T21:39:13Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![martinmodrak](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/martinmodrak/32/162633_2.png) [@martinmodrak](https://meta.discourse.org/u/martinmodrak)\
**Post date:** [2020年七月26日 21:39 UTC](https://meta.discourse.org/t/efficiency-of-getting-the-number-of-search-results-via-ajax/158866/1 "2020-07-26T21:39:13Z")

</div>

对于我正在管理的 Discourse，我想突出显示需要社区关注的主题。目前，这些主题是通过一个相当复杂的搜索查询获取的（单个用户、未解决、超过两天）。我已成功在导航栏中添加了一个链接，指向相关的搜索结果。

现在，我希望该菜单项能显示匹配主题的数量（就像“新”和“未读”项那样）。我可以通过以下方式获取搜索结果：

```plaintext
        const ajax = require('discourse/lib/ajax').ajax;
         ajax("/search.json" + search_query).then (function(result){
              console.log(result);
         });

```

不过，这似乎有些浪费，而且我可能不希望它在每次页面加载时都运行（我们每天约有 1.5 万次页面浏览量）。因此，我的问题是：

- 我是否应该预期在 `<head>` 主题部分调用此查询会拖慢页面加载速度？还是说该查询会在（大部分）页面加载完成后透明地执行？
- 如果效率确实是个问题，我能否只查询搜索结果的总数，即让服务器不发送匹配主题的详细信息？或者甚至只获取一个“是/否”答案，判断是否存在至少一个匹配主题。

感谢任何提示。
