使用客户端事件改善搜索结果 (v3)

Cloud Talent Solution 服务将机器学习技术融入招聘信息搜索体验,可为求职者提供高质量的搜索结果,远超基于关键字的典型方法极限。CTS 以开箱即用的方式,将相关性模型和招聘信息/技能本体应用于您的招聘信息细节。您可以根据求职者的活动来记录客户端事件,从而改善返回给求职者的结果。

有两种方法可以利用此功能,这两种方法都在本快速入门中进行了概述。我们建议您使用 createClientEventRequest API 方法,原因是该方法避开了使用 Cloud Pub/Sub 向 Cloud Talent Solution 发送消息的身份验证质询,提供了一组干净的 API 来实现分析框架

在本教程结束时,您将开始发布客户端事件数据。

当求职者执行特定操作时,您可以使用 API 来记录该操作。例如,与服务交互的求职者或其他实体已在其视图中呈现一则招聘信息(或招聘信息列表),例如在采用压缩或剪辑格式的搜索结果列表中。在这种情况下,您可以向 Cloud Talent Solution 发送一个 IMPRESSION 事件,以提供该搜索结果的上下文,以及可供求职者查看的内容。此外,当求职者点击某条招聘信息结果以查看其完整的描述时,您可以发送一个 VIEW 事件,记载该求职者对于此职位的兴趣。

用量

以下示例展示了如何使用 API 向 Cloud Talent Solution 发送消息。与服务交互的求职者或其他实体已在其视图中呈现一则招聘信息(或招聘信息列表),例如在采用压缩或剪辑格式的搜索结果列表中。此事件通常与求职者在单个页面上查看招聘信息列表相关。

Java

如需详细了解如何安装和创建 Cloud Talent Solution 客户端,请参阅 Cloud Talent Solution 客户端库


public static void createClientEvent(String eventId, String requestId,
    List<String> relatedJobNames)
    throws IOException {
  DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
  String date = dateFormat.format(new Date());

  ClientEvent clientEventToBeCreated = new ClientEvent()
      .setCreateTime(date)
      .setEventId(eventId)
      .setParentEventId("NULL")
      .setJobEvent(
          new JobEvent().setJobs(relatedJobNames)
              .setType("VIEW"))
      .setRequestId(requestId);
  CreateClientEventRequest createClientEventRequest = new CreateClientEventRequest()
      .setClientEvent(clientEventToBeCreated);

  ClientEvent returnedEvent = talentSolutionClient.projects().clientEvents()
      .create(DEFAULT_PROJECT_ID, createClientEventRequest).execute();
  System.out.println(returnedEvent);
}

Python

如需详细了解如何安装和创建 Cloud Talent Solution 客户端,请参阅 Cloud Talent Solution 客户端库

def create_client_event(client_service, event_id, request_id, related_job_names):
    now = datetime.datetime.now()
    date = now.strftime('%Y-%m-%dT%H:%M:%SZ')

    client_event_to_be_created = {
        'create_time': date,
        'event_id': event_id,
        'parent_event_id': 'NULL',
        'job_event': {
            'jobs': related_job_names,
            'type': 'VIEW'
        },
        'request_id': request_id
    }
    request = {
        'client_event': client_event_to_be_created
    }
    response = client_service.projects().clientEvents().create(
        parent=parent, body=request).execute()
    print(response)

如需查看可用事件类型的完整列表,请访问事件类型

使用 Cloud Pub/Sub 记录客户端事件请求

要求

为了发布 pubsub 消息,您必须仅将消息发布到 p-jobs 项目和 cloud-jobs-events 主题。

不含 requestID 的任何 pubsub 消息都会被丢弃。

前提条件

您已完成以下操作:

本教程介绍了创建发布者客户端,通过 Cloud Pub/Sub 发布客户端事件以及执行清理的集成说明。我们通过使用 Java 代码逐步演示一个 Cloud Talent Solution 应用的集成,演示中侧重于解释如何调用 Cloud Talent Solution,而不是解释 Java 客户端库。

将客户端事件数据发布到 Cloud Talent Solution

本节将引导您将客户端事件数据发布到 Cloud Talent Solution,该解决方案可用于提高您的特定业务与求职者需求的相关性。

按照 Google Cloud Pub/Sub 发布者指南将消息发布到 Cloud Talent Solution。

检查以确保发送的实际消息遵循如下所述的模式。

示例消息

IMPRESSION 事件

JSON

    {
      "eventId": "857523730h91wrgkih9qpl12z8bf",
      "eventType": "IMPRESSION",
      "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
      "relatedJobNames": [
        "jobs/4000000000",
        "jobs/4000000001"
      ],
      "eventTimestampMillis": 1518200614309,
    }
    

VIEW 事件

JSON

    {
      "eventId": "9q9wa69qgfx1q1xzwn3zo25z",
      "eventType": "VIEW",
      "requestId": "248pla4w-8wpl-87rt-15rt-430ue8u541m8",
      "relatedJobNames": [
        "jobs/8000000000",
        "jobs/8000000001"
      ],
      "eventTimestampMillis": 1518200617426,
    }
    

使用 Cloud Talent Solution 管理工具验证实施

Cloud Talent Solution 为 API 用户提供了自助服务工具,以验证实施。详细了解自助服务工具。