Cloud Talent Solution を使用すると、求人検索インデックスに保存した求人を検索できます。求人検索はカスタマイズ可能に設計されており、ビジネスニーズに合わせて変更が可能です。このページは、CTS 求人検索で使用できる検索機能の概要を説明します。
検索リクエストの実行
求人検索リクエストを行うには、POST リクエストを jobs:search
エンドポイントに送信し、本文で検索データを渡します。
よく使用されるフィールド(オプション)
JobQuery
:JobQuery
オブジェクトは、query
文字列と、その文字列に適用されるフィルターの 2 つのコンポーネントで構成されます。この機能により、ユーザーは 1 つまたは複数のフィルター(場所、通勤時間、報酬など)を使用してクエリ文字列(「コミュニケーション アシスタント」など)を検索できます。詳細と利用可能なフィルタ オプションの一覧については、検索フィルタをご覧ください。searchMode
: 適用する検索のタイプを指定します。次の選択肢があります。JOB_SEARCH
(推奨): これはデフォルトの検索モードで、すべてのジョブ オブジェクトに対して検索します。検索クエリと最も関連性の高い求人から順にユーザーへ返されます。FEATURED_JOB_SEARCH
:promotionValue
が 0 より大きい Job オブジェクトのみを検索します。結果は、まずpromotionValue
の高い順に並べられます。同順位の場合は、関連性を使用して位置が決定されます。詳細については、注目の求人をご覧ください。
jobView
: 一致した Job オブジェクトのそれぞれに対して返されるフィールドの数を定義します。JOB_VIEW_SMALL
(デフォルト)、JOB_VIEW_MINIMAL
、JOB_VIEW_FULL
を指定できます。各オプションの説明は、JobView
リファレンス ドキュメントをご覧ください。orderBy
: 返される求人の並べ替え順序。使用可能な値については、リファレンスドキュメントをご覧ください。デフォルトでは、関連性で降順にソートされます(RELEVANCE_DESC
)。
必須項目
次の項目は必須です。
requestMetadata
: 検索リクエストのユーザーとセッションの情報が含まれます。
RequestMetadata
すべての検索とヒストグラム リクエストには、RequestMetadata
オブジェクトを含める必要があります。このオブジェクトには、検索を開始したユーザーに関する情報が含まれます。
これは次の 2 つの理由から重要です。
ユーザーの一貫性: Cloud Talent Solution では、検索の関連性を改善するために、基礎となるモデルの複数のバージョンを同時に実行します。CTS では、求職者(userId、sessionId、domain により識別)が一貫したエクスペリエンスを得られるようにします。これらのフィールドは難読化する必要があります。
検索の改善: 調整アルゴリズムは、
RequestMetadata
フィールドで提供される情報と、提供する求職者のデータに基づいています。これにより、検索結果の関連性が向上します。
検索演算子の使用
下表の検索演算子は、単独または組み合わせて使用できます。
演算子 | 説明 |
---|---|
( ) | 1 つ以上のキーワードをグループ化します。 |
OR | 演算子の片側のキーワード(複数単語でも可)に関連する結果を検索します。例: "software OR java" は、メタデータに「software」または「java」のいずれかが含まれるジョブを返します。 |
かつ | 演算子の両側のキーワードまたはキーワードのグループに関連する結果を検索します。 例: "(software OR java) AND (marketing)" は、「software」と「marketing」の両方に関連する求人、または「java」と「marketing」の両方に関連する求人を返します。 |
NOT | 演算子の直後のキーワード(複数単語でも可)に関連する結果を除外します。キーワード(複数単語でも可)は、括弧で囲む必要があります。 |
- | 演算子の後のキーワード(複数単語でも可)に関連する結果を除外します。例: "software -java" は「software」に関連する求人を返しますが、「java」に関連する求人は除外します。 |
req または requisition: | 指定された要求 ID を持つ求人を返します。例: req:1234 は、求人 ID が 1234 の求人を返します。 |
求職者のクエリ
検索キーワードは、実際の求人関連エンティティとして検出することもできます。たとえば、ユーザーが「intern」をクエリした場合、Cloud Talent Solution はこれを雇用タイプ INTERN
として扱い、EMPLOYMENT_TYPE - INTERN
という指定で求人をフィルタリングします。したがって、その Job の EMPLOYMENT_TYPE
フィールドが別の値に設定されている場合、description に「intern」が含まれる Job オブジェクトも返されません。
トラブルシューティング
各検索リクエストは、求人検索システムで一意の検索 requestID
を生成します。この値は、その検索のパラメータと応答を追跡するために使用されます。この ID は、特定の検索や CRUD リクエストに関連する問題のトラブルシューティング時に不可欠であり、適切にログに記録される必要があります。requestID
は、検索応答本文または関連する CRUD 呼び出し応答オブジェクトの ResponseMetadata フィールド内に返されます。
関連性、検索についてのご質問、インデックス作成についての問い合わせなど、サポートの課題については、関連する requestID
か、リクエストを記載してサポートチームにチケットを提出してください。
結果の件数
結果の件数は、求職者に検索結果の数を伝えるために使用されます。これは、必ずしもヒストグラムの結果や返される求人の実際の件数に一致するとは限りません。求人検索は最大 5000 の求人を返します。
ページ分け(オプション)
デフォルトでは、求人検索は 1 回の呼び出しで 100 件の結果を返します(結果の総数が 100 未満の場合はそれ以下)。100 件を超える結果を表示するには、ページ分けを実装します。結果の総数が最大の 5000 を超えると、5000 番目の結果を含むページ以降のすべてのページが空白になります。次のフィールドにより、ページ分けが制御されます。
pageSize
: 返される結果の数nextPageToken
: 検索結果の各ページの結果とともに返される一意のトークン。結果の次のページの開始位置を指定します。これ以上の結果がない場合、この項目は空になります。offset
: 特定のページの上部に返される求人の関連性ランキングと 1(返される最も関連性の高い求人)の間のオフセットを指定します。例として、ユーザーが検索を実行し、pageSize
が 10 に設定されます。最初のページは一番上の求人を返すため、このページのoffset
値は 0 です。次のページでは、上部にジョブ #11 が返されます。このページのoffset
は 10 です。
ページ分けを実装するには、主に 2 つの方法があります。pageSize
と nextPageToken
を使用して、結果の次のページを直接指すことができます(各ページには、次のページを指す新しい nextPageToken
値があります)。この方法を使用する場合は、常に結果の先頭から開始し、順番にページを送ります。または、pageSize
と offset
を使用して、各ページの上部に表示する番号付きの結果を直接指定することもできます。nextPageToken
の代わりに offset
を使用すると、結果セットの任意の点にジャンプできます。
待ち時間の問題を回避するために、ページサイズを 20 結果以下に設定することをおすすめします。ベスト プラクティスとして、求職者に表示されるページごとに個別の検索呼び出しを発行します。代わりに、単一の検索呼び出しでより多くのジョブを返し、クライアント側でページ分けを行うと、機械学習モデルが Jobs Analytics Framework を介して正確に学習する能力が妨げられます。
スペルチェック
スペルチェックは CTS 検索リクエストのオプション機能です。スペルチェックは、スペルミスの可能性のある検索キーワードを考慮して修正し、修正されたクエリに基づいて結果を返します。たとえば、スペルチェックが有効である場合は、求職者が「manager」ではなく「manaer」を検索しても、CTS は「manager」の求人を返します。スペルチェックは、検索リクエストの disableSpellCheck
フィールドを設定することで有効 / 無効を切り替えられます。スペルチェックが有効になっている場合、修正されたクエリは、検索応答の spellResult
フィールドに入ります。