搜索基础知识 (v3)

借助 Cloud Talent Solution,用户可以搜索您存储于 Cloud Talent Solution 索引中的招聘信息。本文档将引导您了解 Cloud Talent Solution 的各种搜索功能和相关服务。

搜索请求

要发出职位搜索请求,请向 jobs:search 端点发送 POST 请求,在正文中包含搜索数据。

必填字段

以下字段必填:

  • searchMode:指定要应用的招聘信息搜索类型。选项如下:

    • JOB_SEARCH:这是默认值,也是推荐的搜索模式。 系统会根据此模式搜索所有招聘信息, 并返回最相关的招聘信息,结果按照与搜索查询的相关性排列。
    • FEATURED_JOB_SEARCH:仅搜索 promotionValue 大于 0 的招聘信息。结果按 promotionValue 降序排列,值最高的排在最前面;如果值相等,则按相关性排列。如需了解详情,请参阅精选职位

常用字段

  • JobQuery:指定要比对的招聘信息条件,包括位置、职位类别、工作性质、文本查询、公司等。如需了解详情,请参阅搜索过滤器

  • requestMetadata:包含此搜索请求的用户和会话信息。如需了解详情,请参阅 RequestMetadata

  • jobView:定义为每个匹配职位返回的字段数。包括 JOB_VIEW_SMALL(默认值)、JOB_VIEW_MINIMALJOB_VIEW_FULL。如需各选项的具体说明,请参阅 JobView 参考。

  • orderBy:返回招聘信息的排列顺序。请参阅参考了解允许的值。默认按相关性降序排列 (RELEVANCE_DESC)。

放宽相关性阈值和位置/类别

要让搜索返回更多的招聘信息,可通过以下两个字段放宽对相关性的限制:

  • enableBroadening:将此标志设置为 true 可放宽对搜索请求中位置和职位类别的限制,以返回更多结果。例如,如果搜索请求指定华盛顿州某个镇半径 2 英里范围内的招聘信息,则将此标志设置为 true 也会返回华盛顿州临近镇的招聘信息。

  • disableKeywordMatch:此标志默认设置为 false。如果将此标志设置为 false,可让 Cloud Talent Solution 在返回与此搜索查询相关的招聘信息时,也会返回职位名称或描述中有字符串与查询字符串完全匹配的招聘信息。

RequestMetadata

每个搜索和直方图请求都应包含 RequestMetadata 对象。此对象包含发起搜索的用户的相关信息。

这个对象非常重要,因为它有助于:

  • 保持用户体验的一致性。为提高搜索相关性,Cloud Talent Solution 同时运行多个版本的底层模型。填写此字段可确保求职者获得一致的体验。Cloud Talent Solution 将确保求职者(由 userIdsessionIddomain 标识)获得一致的体验。注意:应对这些字段进行混淆处理。

  • 改进搜索效果。调优算法基于 RequestMetadata 字段中提供的信息以及您提供的求职者数据。如此可提高搜索结果的相关性。

搜索运算符

运算符 说明
( ) 将一个或多个关键字组合在一起。
AND 搜索同时与运算符两侧的关键字或关键字组相关的结果。
OR 搜索与运算符任一侧的关键字或关键字组相关的结果。
NOT 排除与运算符后面的关键字或关键字组(括在括号内)相关的结果。
- 排除与附加到运算符的关键字或关键字组相关的结果。

例如:

  • "software OR java" 将返回其元数据中包含“software”或“java”的招聘信息。

  • "software" -java 将返回与“software”相关的招聘信息,但排除与“java”相关的招聘信息。

  • "(software OR java) AND (marketing)" 将返回同时与“software”和“marketing”相关,以及同时与“java”和“marketing”相关的招聘信息。

求职者查询

搜索字词也可能被检测为实际的招聘信息相关实体。例如,如果查询目标为“intern”(实习生),则 Cloud Talent Solution 会将其工作性质视为“INTERN”,因而仅过滤出有 EMPLOYMENT_TYPE - INTERN 设置的招聘信息。而对于工作性质设置为其他值的招聘信息,即使其职位描述中包含实习生,系统也不会返回该条招聘信息。

问题排查

每个搜索请求都会在我们的系统中生成唯一的搜索 requestID,用于跟踪该搜索的参数以及响应。这对于排查与特定搜索、CRUD 请求相关的问题至关重要,应妥善记录。系统会在搜索响应正文ResponseMetadata 字段或相关的 CRUD 调用响应对象内返回 requestId

如有与相关性、搜索查询、索引查询等相关的支持问题,请向我们的支持团队提交工单,同时附上相关的请求 ID 或请求正文。

结果计数

结果计数用于向求职者显示搜索结果的数量。此数量并不一定对应直方图结果或返回的实际招聘信息数量。 Job Search 最多返回 5000 个职位。

分页

默认情况下,“职位搜索”每页返回 100 个结果(如果结果总数少于 100,则返回更少)。您可以使用与此功能关联的字段实现分页:

  • pageSize:每页返回的结果数。
  • nextPageToken:随搜索结果的每一页返回的唯一标记,用于指定下一页结果的起始位置。如果没有更多结果,则此字段为空。
  • offset:指定返回到给定页面顶部的招聘信息的相关性排序与 1(返回相关性最高的招聘信息)之间的偏移量。例如,某用户进行搜索时,将 pageSize设置为 10。第一页顶部返回排序第 1 的招聘信息,则此页面的 offset 值为 0。下一页顶部返回排序第 11 的招聘信息,则此页面的 offset 值为 10。

将页面大小设置成显示 20 个或 20 个以下的结果可避免延时问题。 最佳做法是,每向求职者显示一个页面就发出一个搜索调用。 另一种方法是,使用一个搜索调用返回大量招聘信息,再在客户端进行分页,但这会妨碍机器学习模型通过 Jobs Analytics Framework 准确学习的能力。

拼写检查

拼写检查是 Cloud Talent Solution 搜索请求的一项功能,目的是发现可能拼写错误的搜索词,加以更正,并根据更正后的查询返回结果。例如,启用拼写检查后,如果求职者搜索“manaer”而不是“manager”,Cloud Talent Solution 将返回与“manager”相关的招聘信息。可以通过设置 JobQuery 的 disableSpellCheck 字段来启用/停用拼写检查。如果启用了拼写检查功能,则可以在搜索响应的 spellResult 字段中找到更正后的查询。