借助 Cloud Talent Solution,用户可以搜索您存储于 Job search 索引中的招聘信息。公司职位搜索的设计支持自定义,您可以根据业务需求对其进行更改。本页面简要介绍了 CTS Job Search 的搜索功能。
发出搜索请求
要发出职位搜索请求,请向 jobs:search
端点发送 POST 请求,在正文中包含搜索数据。
常用字段(可选)
JobQuery
:JobQuery
对象由两部分组成,一个query
字符串和应用于该字符串的过滤器。借助此功能,您的用户可以使用一个或多个过滤器(地点、通勤时间、薪酬等)搜索查询字符串(例如“communications assistant”)。 如需了解详情并查阅可用过滤器选项列表,请参阅搜索过滤器。searchMode
:指定要应用的搜索类型。选项如下:JOB_SEARCH
(推荐):这是默认搜索模式,可搜索所有职位对象。系统会向用户返回相关性最高的招聘信息,结果按照与搜索查询的相关性排列。FEATURED_JOB_SEARCH
:仅搜索promotionValue
大于 0 的职位对象。结果按promotionValue
降序排列,值最高的排在最前面;如果值相等,则按相关性排列。如需了解详情,请参阅精选职位。
jobView
:定义为每个匹配的职位对象返回的字段数。可以是JOB_VIEW_SMALL
(默认值)、JOB_VIEW_MINIMAL
或JOB_VIEW_FULL
。如需查看每个选项的说明,请参阅JobView
参考文档。orderBy
:返回招聘信息的排列顺序。如需查阅允许的值,请参阅参考文档。默认按相关性降序排列 (RELEVANCE_DESC
)。
必填字段
以下字段必填:
requestMetadata
:包含此搜索请求的用户和会话信息。
RequestMetadata
每个搜索和直方图请求都必须包含 RequestMetadata
对象。此对象包含发起搜索的用户的相关信息。
这有两个主要原因:
用户一致性:为提高搜索相关性,Cloud Talent Solution 同时运行多个版本的底层模型。 CTS 确保求职者(由 userId、sessionId 和 domain 标识)拥有一致的体验。系统应对这些字段进行混淆处理。
改进搜索效果:调优算法基于
RequestMetadata
字段中提供的信息以及您提供的求职者数据。如此可提高搜索结果的相关性。
使用搜索运算符
下表中的搜索运算符可以单独使用,也可以结合使用。
运算符 | 说明 |
---|---|
( ) | 将一个或多个关键字组合在一起。 |
OR | 搜索与运算符任意一侧的关键字或关键字组相关的结果。示例:"software OR java" 将返回其元数据中包含“software”或“java”的招聘信息。 |
与 | 搜索同时与运算符两侧的关键字或关键字组相关的结果。例如:"(software OR java) AND (marketing)" 将返回同时与“software”和“marketing”相关,或同时与“java”和“marketing”相关的招聘信息。 |
非 | 排除与紧跟着运算符的关键字或关键字组相关的结果。关键字或关键字组必须括在括号内。 |
- | 排除与运算符后面的关键字或关键字组相关的结果。例如:"software -java" 将返回与“software”相关的招聘信息,但排除与“java”相关的招聘信息。 |
申请: | 返回具有指定申请 ID 的职位。例如,请求 1234 将返回申请 ID 为 1234 的作业。 |
求职者查询
系统也可能会将搜索词作为实际的职位相关实体进行检测。例如,如果用户查询“intern”(实习生),则 Cloud Talent Solution 会将其工作性质视为 INTERN
,因而仅过滤出有 EMPLOYMENT_TYPE - INTERN
设置的招聘信息。而对于 EMPLOYMENT_TYPE
设置为其他值的招聘信息,即使其职位描述中包含实习生,系统也不会返回该条招聘信息。
问题排查
每个搜索请求在职位搜索系统中生成唯一的搜索 requestID
。此值用于跟踪该搜索的参数以及响应。这对于排查与特定搜索或 CRUD 请求相关的问题至关重要,应妥善记录。系统会在搜索响应正文的 ResponseMetadata 字段或相关的 CRUD 调用响应对象内返回 requestID
。
如需排查与相关性、搜索查询、索引查询等有关的支持问题,请向我们的支持团队提交工单,在其中标注相关的 requestID
或描述请求。
结果计数
结果计数用于向求职者显示搜索结果的数量。此数量并不一定对应直方图结果或返回的实际招聘信息数量。 Job Search 最多返回 5000 个职位。
分页(可选)
默认情况下,Job Search 会在单次调用中返回 100 个结果(如果结果总数小于 100,则更少)。要查看超过 100 个结果,您可以实现分页。如果结果总数超过最大值 5000,则包含第 5000 个结果的页面之后的所有页面将为空白。以下字段用于控制分页:
pageSize
:返回的结果数。nextPageToken
:随搜索结果的每一页返回的唯一标记,用于指定下一页结果的起始位置。如果没有更多结果,则此字段为空。offset
:指定返回到给定页面顶部的招聘信息的相关性排序与 1(返回相关性最高的招聘信息)之间的偏移量。例如,某用户进行搜索时,将pageSize
设置为 10。第一页顶部返回排序第 1 的招聘信息,则此页面的offset
值为 0。下一页顶部返回排序第 11 的招聘信息,则此页面的offset
值为 10。
实现分页的方法主要有两种。您可以使用 pageSize
和 nextPageToken
直接指向下一页的结果(每页都有一个新 nextPageToken
值,指向后一页面)。如果使用此方法,您将始终从结果的顶部开始,并按顺序进行分页。或者,您可以将 pageSize
与 offset
搭配使用,以直接指定显示在每个页面顶部的编号结果。如果您使用 offset
,而不是 nextPageToken
,则您可以跳转到结果集中的任何点。
我们建议您将页面大小设置成显示 20 个或 20 个以下的结果可避免延时问题。最佳做法是,每向求职者显示一个页面就发出一个搜索调用。 另一种方法是,使用一个搜索调用返回大量招聘信息,再在客户端进行分页,但这会妨碍机器学习模型通过 Jobs Analytics Framework 准确学习的能力。
拼写检查
拼写检查是 CTS 搜索请求的一项功能,目的是发现可能拼写错误的搜索词,加以更正,并根据更正后的查询返回结果。例如,启用拼写检查后,如果求职者搜索“manaer”而不是“manager”,CTS 将返回与“manager”相关的招聘信息。您可以设置搜索请求的 disableSpellCheck
字段来启用/停用拼写检查功能。如果启用了拼写检查功能,则可以在搜索响应的 spellResult
字段中找到更正后的查询。