Job Search API のパラメータ: ベスト プラクティス(v3)

API の構成

検索結果に影響を与える要素

「注目の求人検索」、「拡張の有効化」、「キーワード一致の無効化」を組み合わせて検索すると、求職者に返される求人の数と関連性が大きく変わります。この 3 つの要素に最適な構成は、ビジネスニーズによって異なります。 最適な構成を決定するには、テストフェーズでさまざまなテストシナリオを適用し、その結果を評価します。

  1. Featured Jobs: 注目の求人(Featured Jobs)を使用すると個々の求人にプロモーション値を割り当てることができ、ビジネスニーズに沿った求人を強調できます。ベスト プラクティスと実装の詳細については、注目の求人のドキュメントをご覧ください。

  2. disableKeywordMatch: このパラメータを使用すると、ML アルゴリズムによって判定された関連性による結果に加えて、キーワード一致の結果が API から返されます。デフォルトの設定は false です。デフォルト設定を保持した場合、ML アルゴリズムでは関連がないと判断されたものでも、役職や職務明細に求職者のクエリ文字列とのキーワード一致が含まれる求人も CTS Job Search API から返されることになります。 このパラメータを true に設定すると、キーワード一致が無効になります。そのため、ML 機能によって関連があると判断されたもののみに絞られ、返される求人の数は少なくなります。

  3. enableBroadening: このパラメータを使用すると、場所と職種のカテゴリに指定された制限を緩和して求職者クエリを拡張できます。デフォルトでは false に設定されており、true に設定すると有効になります。これを使用すると、返される検索結果数が増加します。

検索の構成と結果

最も関連性の高い求人のみを返す: disableKeywordMatchtrue に、enableBroadeningfalse に設定します。関連性のある求人のみが返されるため、検索の適合性にかかわる API のパフォーマンス指標が向上します。 ただし、検索結果で返される求人数は全体的に減少します。

関連性がある求人とクエリ拡張の求人の両方を含めて返される求人数を増やす: disableKeywordMatchfalse に、enableBroadeningfalse に設定します。結果内では、関連性のある求人の後にキーワード一致の結果が表示されますが、クエリ拡張の結果は返されません。

関連性がある求人とクエリ拡張の求人の両方を含めて返される求人数を増やす: disableKeywordMatchtrue に、enableBroadeningtrue に設定します。求職者のクエリが拡張され、関連性による結果の後に、関連する職種や近隣地の求人も表示されます。 キーワードを基準にした一致は返されません。

返される求人数をできるだけ多くする: disableKeywordMatchfalse に、enableBroadeningtrue に設定します。Job Search API から検索結果の上位に最も関連性の高い求人が返され、その後にキーワード一致の求人とクエリ拡張(場所や職種の検索範囲などの拡張)の求人が返されます。返される求人の総数は最も多くなります。

diasableKeywordMatch enableBroadening 結果
- - 関連性がある求人とキーワード一致の求人の両方が含まれるため、返される求人数が増加します(Featured Jobs は設定されていないものとします)。
+ + 関連性がある求人とクエリ拡張の求人の両方が含まれるため、返される求人数が増加します(Featured Jobs は設定されていないものとします)。
- + 返される求人数は最も多くなります(Featured Jobs は設定されていないものとします)。
+ - 最も関連性が高い求人のみが返されます(Featured Jobs は設定されていないものとします)。

Request.page_size

パフォーマンスを改善し、レイテンシを回避するには、結果ページに 1 回に表示される求人数を 20 件以下に設定します。

customAttributes

customAttributes を使用すると、ビジネスニーズ(GPA スコアなど)に応じて求人に値を追加し、その値を使用して結果をフィルタリングするといった柔軟な使い方ができます。

場所フィールド

場所フィールドの詳細は、場所のフィールド ページで確認できます。住所フィールドに GPS 座標ではなく求人の住所を指定すると、API による場所の検出と検索の適合性が向上します。

locationFilter

1 つの企業が地理的地域の異なる複数の求人を行う場合は、regionCode を使用します。リスティングのそれぞれに regionCode を割り当てることで、グローバルな結果ではなく、求職者の希望地の求人のみが検索クエリから返されます。たとえば、regionCode を使用しないで場所のキーワードを「Cambridge」にして検索すると、英国のケンブリッジと米国マサチューセッツ州のケンブリッジの両方の結果が返されます。これにより、検索の関連性が低下します。

Region_codeLanguage_code

ユーザーが検索を行っている地理的な場所(英国など)と一致させるには、request.filters.location_filters.region_code を設定します。request.filters.language_code をその地域に適した言語コード(この例では en_GB)に設定して、ローカライズされた検索ロジックを API で使用できるようにします(たとえば、米国での「truck driver」は、英国(en_GB)では「lolly driver」になる)。

radiusinMiles

このパラメータは、求職者が指定した場所を中心にした半径を設定します(マイル単位)。 この API は、この地理的範囲内の結果を返します。 この距離が検索結果の地理的条件にどのように適用されるかは、入力された場所情報の種類によって変わります。求職者が住所を入力した場合は、radiusInMiles はその地点からの距離に設定されます。求職者が都市名を入力した場合は、都市の境界沿いに境界ボックスが設定され、そのボックスの縁からの距離に適用されます。州や国のみが入力された場合、radiusInMiles は無視されます。

このマイル単位の半径はできるだけ小さくします。マイル数を大きく設定すると、求職者の希望地から外れた結果が返され、適合性が低下します。たとえば、radiusInMiles を 100 マイルに設定してニューヨーク市の求人を検索すると、ニューヨーク州北部やニュージャージー州の結果も返されます。結果の適合性を高めるには、半径をできるだけ小さくします。

postingExpireTime

このパラメータは、求人投稿を有効とする期間を設定します。この期間を経過すると、検索結果から削除されます。デフォルトは、UTC タイムゾーンで求人が作成された時刻から 30 日間です。

Job_employment_type

これは必須項目ではありませんが、Job_employment_type を使用すると求人検索結果の適合性が向上します。

API の構成: カスタム ランキング

注目の求人を使用すると、特定の変数(promotionValue)に基づいて検索結果に影響を与えたり、求人を強調したりできます。詳細については、注目の求人をご覧ください。カスタム ランキングでは複数の変数に基づいて結果に影響を与えることができるため、関連性に関係なく、ランキングを細かく制御できます。この機能は、多層クリック単価(CPC)サブスクライバー システムのように、適合性と経済的利益とのバランスを取る必要があるアプリケーションで便利です。 どのようにして既存の関連性スコアより上位に求人をランクさせるかは、rankingExpressionimportanceLevel の 2 つの変数によって決まります。

  • rankingExpression: この変数は、API のアルゴリズムによって決定された既存の関連性スコアに基づいて求人のランキング方法を制御します。API でパラメータをインデックスに登録するには、「rankExpression」が「filterable」に設定されている必要があります。

  • importanceLevel: このパラメータは、求人が検索で返されたときのランク位置の重要度レベルを設定します。未指定、NONELOWMIDHIGHEXTREME の 6 つのレベルがあります。値を EXTREME に設定すると他の API で生成された関連性に関する要素がすべて無視されるので、この値の使用には注意が必要です。EXTREME に設定された求人が存在すると、求職者のクエリでジョブが返されるときに関連性の最も高いジョブではなく、このジョブが最上位で返されます。

  • 注目の求人カスタム ランキングの比較: 注目の求人は、適合性のランキングよりも単一のカテゴリの求人(特定の企業の求人など)をプロモーションする場合に最適です。関連性のランキングに加えて、多層クリック単価(CPC)変数も考慮して求人をランク付けする必要がある場合は、カスタム ランキングが適しています。

通勤に関する検索は、求職者が通勤時間を基準にして求人を検索する場合に便利です。 有効にするには、JobQuery.commuteFilter フィールドに追加の CommuteFilter オブジェクトを組み込みます。このオブジェクトを使用することで、求職者は commuteMethodtravelDurationstartCoordinates を選択できるようになります。また、通勤時間を計算するときに roadTrafficTRAFFIC_FREE または BUSY_HOUR)、departureTime などのオプションも選択できます。詳細については、通勤に関する検索の実装入門ガイドのページをご覧ください。

データ管理とエラー処理

データの整合性

  1. 求人のアップロード: データの問題が発生すると、求人を API にアップロードできなくなることがあります。詳細については、HTTP レスポンス コードのページをご覧ください。一般的な例を以下に示します。

    • 求人の場所が正しくないリクエストを解決できない。
    • 企業や求人のフィールドが存在しないため、不適切なリクエストが返される。

    求人のアップロードに関する問題は、以下のいずれかの方法でトラブルシューティングできます。

    • バックエンドからロギングを確認する。
    • データロギング用 CTS 管理ツールを確認する。
    • Cloud Console で Stackdriver Monitoring ツールを設定して、メタデータ、指標、イベントを収集する。
  2. 求人のインデックス登録: Job Search API は、設定された期間内にアップロードされた求人のすべてをインデックスに登録します。しかし、お客様側に割り当て制限が存在する場合があります。 CTS に求人を送信する前に、お客様のシステムのインデックス登録リクエストの制限を確認してください。

エラー処理メカニズム

自ら招いた DDoS 攻撃により求職者がシステムからロックアウトされてしまわないためには、エラー処理が不可欠です。インターネット経由で提供される API サービスでは、断続的な接続障害、長期的なサービス停止、予定外のサービス メンテナンスなど、クライアント アプリケーションで API リクエストの再試行が必要となるイベントが発生することもあります。再試行は、指数バックオフのようなネットワークに負担をかけない設計にする必要があります。

重複排除

重複した求人は、求職者の検索結果に悪影響を及ぼします。Job Search API には、重複を最小限に抑えるための機能が 2 つあります。

  1. 求人作成: 次の条件で求人を 2 つ以上作成しようとするとそのレコードは拒否され、4xx エラーが発生します。

    • 同一の companyName、かつ
    • 同一の job_req_id、かつ
    • 同一の場所 / languageCode
  2. 求人検索: CTS Job Search API は、求職者の検索クエリに適合する求人を表示します。 関連性アルゴリズムの組み込み機能により、返された求人に重複がないことが保証され、ほぼ同じ求人が検索結果で隣接して表示されないようにします。