> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brightdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Business Search 分页与计数

> 使用 offset 与 limit 分页获取 Business Search 结果，默认每页 10 条，并正确解读 meta.matched 与 meta.coverage_percent。

Business Search 的每一页结果都是对当前索引的一次新搜索，而不是固定快照。

## 如何请求下一页

`offset` 表示要跳过的结果数量，`limit` 表示每页大小。`offset` 从 0 开始且无上限。`limit` 默认为 10，其上限取决于模式：

| 模式          | 单页 `limit` 上限 |
| ----------- | ------------- |
| `ludicrous` | 100           |
| `instant`   | 100           |
| `smart`     | 10            |

下面的请求体跳过前 20 条结果并请求接下来的 20 条：

```json theme={null}
{
  "offset": 20,
  "limit": 20
}
```

翻页时保持类目、数据源、模式、查询和视图不变，只改变 `offset`。改动其他任何属性都等于开始一次不同的搜索。

`offset` 超过 `meta.matched` 时不会返回空页，而是以 HTTP 500 和 `error_code` `backend_search_failed` 失败。因此请在返回不足一页时停止翻页，并把这种 `500` 当作结果集已到末尾，而不是服务故障。

索引每日刷新，因此结果及其顺序可能在不同请求之间发生变化。某次运行中位于第 1 页的记录，在下一次运行中可能出现在第 2 页。

## 如何解读响应元数据

* `meta.offset` 和 `meta.limit` 回显请求中的分页参数。
* `documents.length` 是本页实际返回的记录数，可能小于 `limit`。
* `meta.matched` 表示本次搜索触及的匹配数量。请把它当作下界而非完整计数，对文本搜索和自然语言搜索尤其如此。它可能随模式或请求而变化。
* `meta.coverage_percent` 表示索引中作出响应的比例。低于 100 表示覆盖不完整。等于 100 也不代表已返回全部相关记录或所有字段都有值。

## meta.matched 不能用来做什么

不要用 `meta.matched` 来估算数据集规模，也不要据此告诉用户恰好有这么多公司或人物符合他们的意图。它是搜索触及范围的数值，不是普查结果。

如果成功响应中没有任何文档，表示本次请求没有匹配结果，而不是该实体不存在。

<Note>
  在覆盖率重要的场景中，请向读者说明覆盖情况。基于 `coverage_percent` 低于 100 的响应生成的结果页面，应说明结果集不完整，而不是呈现为完整结果。
</Note>

## 常见问题

### 翻页循环应在什么时候停止

当 `documents` 返回为空或短于 `limit` 时停止。不要一直翻到 `offset` 达到 `meta.matched`，因为 `meta.matched` 是下界，并且可能在不同请求之间变化。

### 为什么相同的 offset 返回了不同的记录

每一页都是针对当前索引的一次新搜索。如果任务需要稳定的结果集，请在一次运行中采集完所有页面，并按 `bright_id` 加 `source` 去重，而不要在之后重新获取某一页。

### limit 最大可以设置为多少

`limit` 默认为 10。Ludicrous 与 Instant 的单页上限为 100，Smart 为 10。该值表示单页请求的最大数量，因此返回的数组可能短于你发送的值。

### 索引多久更新一次

每日更新。数据源中新增或变更的记录会在下一次每日刷新后出现在 Business Search 结果中。
