求人検索のパラメータ: ベスト プラクティス

求人検索の構成

このセクションでは、Job Search API の構成に使用できるパラメーターの概要を説明します。詳細については、チュートリアル動画をご覧ください。

検索結果に影響する要因

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

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

  2. disableKeywordMatch: このパラメータを使用すると、求人検索で、関連する一致に加えて、キーワードベースの一致を求職者のクエリに返すことができます。デフォルトの設定は false です。このパラメータを true に設定すると、キーワード一致が無効になります。そのため、ML 機能によって関連があると判断されたもののみに絞られ、返される求人の数は少なくなります。

  3. enableBroadening: このパラメータを使用すると、場所と職種のカテゴリに指定された制限を緩和して求職者クエリを拡張できます。デフォルトの設定は false です。このパラメータを有効にすると、返される検索結果の数は増えますが、求職者に対する結果セット全体の関連性が低下する可能性があります。

検索の構成と結果

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

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

関連性がある求人とクエリ拡張の求人の両方を含めて返される求人数を増やす: disableKeywordMatchtrue に、enableBroadeningtrue に設定します。関連する求人カテゴリと近隣地の求人が含まれるように求職者のクエリが拡張されます。こうした追加の求人情報は、関連する結果の後に載せられます。キーワードベースの一致結果は返されません。

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

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

Request.page_size

パフォーマンスを改善し、レイテンシを回避するには、結果ページに 1 回に表示される求人数を 20 件以下に設定します。ページ分けの実装についての詳細は、検索の概要ページをご覧ください。

customAttributes

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

場所フィールド

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

locationFilter

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

region_codelanguage_code

これら 2 つのフィールドを使用すると、求人検索で地域ごとにローカライズされた検索ロジックを使用できます(米国における「truck driver」ではなく、en_GB の「lorry driver」など)。ユーザーが検索している地理的位置(イギリスなど)と一致するように request.filters.location_filters.region_code を設定し、request.filters.language_code をその地域の適切な言語コード(この場合は en_GB)に設定します。

radiusinMiles

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

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

postingExpireTime

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

Job_employment_type

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

求人検索の構成: カスタム ランキング

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

  • rankingExpression: この変数は、計算された関連性スコアに基づいて求人のランキング方法を制御します。求人検索でパラメータをインデックスに登録するには、「rankingExpression」が「filterable」に設定されている必要があります。

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

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

通勤に関する検索により、求職者が通勤時間を基準にして求人を検索することができるようになります。これを有効にするには、JobQuery.commuteFilter フィールドに CommuteFilter オブジェクトを含めます。CommuteFilter により、求職者が指定した通勤方法、移動時間、開始座標を使用して通勤時間が計算されます。求職者は、時間の計算に含める roadTrafficTRAFFIC_FREE または BUSY_HOUR)や departureTime も選択する必要があります。詳細については、通勤に関する検索の実装入門ガイドのページをご覧ください。

通勤に関する検索の結果は、実際の交通状況ではなく、過去の集計データに基づいています。departureTime の交通状況は、指定された時刻の平均交通状況から計算されます。roadTrafficBUSY_HOUR/TRAFFIC_FREE オプションは、それぞれ朝のラッシュアワーと深夜の平均的な交通状況です。ユーザーは、クエリを送信した時刻に関係なく、同じ通勤に関する検索結果を受け取ります。

マルチテナンシー(省略可)

求人検索は、Google Cloud Platform プロジェクトとそのアップロードされたデータの間の中間組織層としてテナントをサポートします。テナントは、テナントの壁を越えてデータが共有されるのを防ぎ、複数のプロジェクトを作成しなくてもデータのサブセットを分離できます。マルチテナンシーは、複数の顧客がいて、顧客間でデータを共有したくないものの、内部の請求と報告のために単一の GCP プロジェクトを維持する場合に役立ちます。例:

  • 複数の子会社がある組織のために求人サイトを構築している求人サイト プロバイダ。
  • 複数の顧客のために応募者追跡システムを構築している人材採用会社。

各プロジェクトには、デフォルト テナント ID が 1 つ割り当てられています。特定のプロジェクト内に複数のテナントを作成することにより、マルチテナンシーを実装できます。

テナントは互いに完全に分離されています。同じ API 呼び出しで複数のテナントにわたってデータが照会されることを防ぐために、すべての API で単一のテナントのみが必要とされます。機械学習アルゴリズムも同様に、テナントを個別の単位として扱い、テナントの壁を越えません。プロジェクトでは、必要なだけいくつでもテナントをサポートできます。

セキュリティ

CTS は非常に軽量のテナントのサポートを提供します。ユーザーは、テナントを作成し、テナント ID を割り当て、リクエストを行うときに正しいテナント ID を提供する責任があります。CTS は、テナント ID が特定のプロジェクトによって所有されていることを確認し、提供されたテナントからデータを取得します。不正アクセスを検出する追加のセキュリティは、バックエンド システムで管理する必要があります。

データ管理とエラー処理

データの整合性

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

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

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

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

自分への DDoS 攻撃

エラー処理

インターネット経由で提供される API サービスでは、断続的な接続障害、長期的なサービス停止、予定外のサービス メンテナンスなど、クライアント アプリケーションで API リクエストの再試行が必要となるイベントが発生することがあります。再試行は、指数バックオフのようなネットワークに負担をかけない設計にする必要があります。

割り当て上限

プロビジョニングされた割り当てを超えるトラフィック、特にプロビジョニングされた割り当てよりもはるかに多いトラフィックは送信しないでください。そうしないと、トラフィックが悪意のあるものとして分類され、ブロックされる場合があります。

重複排除

重複した求人は、求職者の検索結果に悪影響を及ぼします。求人検索には、重複を最小限に抑えるための 2 つの機能が組み込まれています。

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

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