跳转到主要内容
filter 对象由 Bright Data 市场数据集 API 的 Search 和 Filter 两个端点共享:相同的 schema、相同的运算符、相同的嵌套规则。
在构建筛选之前,使用获取数据集元数据确认字段名称和类型。

筛选有哪三种形态?

一个筛选是以下三种形态之一:单字段筛选、组合多个筛选的筛选组,或空值检查。

单字段筛选

用一个运算符将一个字段与一个值进行匹配:

筛选组

使用 andor 组合多个筛选。筛选组的最大嵌套深度为 3 层:

空值检查

使用 is_nullis_not_null 匹配值是否存在。这些运算符不接受 value

有哪些可用的运算符?

下列运算符可用于字段筛选。

哪些运算符可读取 CSV 或 JSON 文件?

这些文件引用运算符仅在 Filter 端点的 multipart 模式下有效。将文件名作为 value 传入,即可按存储在 CSV 或 JSON 文件中的成千上万个值进行筛选。 Search 端点不支持文件引用。Elasticsearch 无法在查询时读取外部文件。

如何在单个嵌套对象内进行匹配?

对于字段是对象数组的数据集,在筛选组上设置 combine_nested_fields: true,使该组内的所有筛选必须在同一个对象内匹配,而不是跨数组中的不同对象:
如果不设置 combine_nested_fields,这两个条件可能在 experience 数组中的不同对象上分别匹配。

提示

  • 在构建筛选之前,使用获取数据集元数据确认字段名称和类型。
  • 尽量保持嵌套层级浅。最大深度为 3 层。
  • 在 Search 端点上,对自由文本字段优先使用 includes 而非 =,因为 Elasticsearch 会对其分词。
  • 在 Filter 端点上,文件引用仅可与上述列出的运算符配合使用。

相关文档