職缺搜尋參數:最佳做法

職缺搜尋設定

本節將概略說明可用於設定 Job Search API 的參數。詳情請參閱教學影片

影響搜尋結果的因素

「精選職缺搜尋」、「啟用放寬功能」和「停用關鍵字比對」這些因素會大幅影響傳回給求職者的職缺數量和關聯性。您應根據業務需求適當設定這三項要素。如要找出最合適的設定,最好的方式是在測試階段套用於不同測試情境,並評估成果。如要進一步瞭解如何使用這些參數,請參閱教學影片頁面

  1. 精選職缺搜尋:使用精選職缺搜尋功能,為個別職缺指定宣傳價值。特別突顯對您業務需求較為重要的職缺。如需最佳做法和導入詳細資料,請參閱精選職缺搜尋說明文件。

  2. disableKeywordMatch:這個參數可讓 Job Search 傳回關鍵字相符項目,以及與求職者查詢相關的搜尋結果。預設為 false。如果將這個參數設為 true,則會停用關鍵字比對,而系統傳回的職缺數量也會較少 (只傳回機器學習功能判斷為相關的職缺)。

  3. enableBroadening:使用這個參數放寬求職者對地點和工作類別的指定限制,從而擴充求職者的查詢範圍。預設為 false。啟用這個參數會增加傳回的搜尋結果數量,但可能會降低整體結果集與求職者的關聯性。

搜尋設定結果

只傳回最相關的職缺:將 disableKeywordMatch 設為 true,並將 enableBroadening 設為 false。這個設定能改善 API 有關關聯性的效能指標,因為屆時系統將只傳回相關聯的職缺。不過,搜尋結果中傳回的職缺數量整體上也會減少。

傳回更多有關聯且關鍵字比對相符的職缺搜尋結果:將 disableKeywordMatch 設為 false,並將 enableBroadening 設為 false。在搜尋結果中,相關職缺後面將列出關鍵字相符結果。不會傳回查詢擴充結果。

傳回更多有關聯且擴充了查詢範圍的職缺:將 disableKeywordMatch 設為 true,並將 enableBroadening 設為 true。求職者的查詢可擴充為包含相關工作類別及附近地點,這些額外職缺會列在相關結果後方。而關鍵字相符項目將不會傳回。

儘可能傳回最多職缺結果:將 disableKeywordMatch 設為 false,並將 enableBroadening 設為 true。在職缺搜尋傳回的搜尋結果中,頂端是最相關的職缺,隨後則是關鍵字比對相符的職缺及查詢擴充的職缺 (按地點、工作類別或其他原則擴充)。這項設定能盡量增加傳回的職缺總數。

diasableKeywordMatch enableBroadening 結果
- - 傳回更多有關聯且關鍵字比對相符的職缺搜尋結果 (但假設精選職缺搜尋設為 false)。
+ + 傳回更多有關聯且查詢擴充的職缺 (但假設精選職缺搜尋設為 false)。
- + 傳回最多職缺結果 (但假設精選職缺搜尋設為 false)。
+ - 只傳回最相關的職缺 (但假設精選職缺搜尋設為 false)。

Request.pageSize

為獲得最佳效能並避免延遲狀況,請將結果頁面一次顯示的職缺數量設為 20 筆以下。如要進一步瞭解如何導入分頁功能,請參閱「搜尋總覽」頁面。

customAttributes

customAttributes 提供較大的設定彈性,能讓您根據業務需求 (例如 GPA 分數) 來為職缺指定額外的值,並運用這些值來篩選結果。

地點欄位

如要進一步查看 location 欄位的總覽資訊,請前往「地點欄位」頁面。在 address 欄位中,提供工作街道地址比提供 GPS 座標更有助於改善 Job Search 的地點偵測結果及搜尋關聯性。

locationFilter

假如同一間公司在不同地理區域開出多個職缺,請使用 regionCode 欄位。為每筆人才招聘項目指定 regionCode,可確保搜尋查詢只傳回求職者指定地點內的職缺,而不是傳回符合搜尋查詢的全域結果。舉例來說,假如未指定 regionCode,則搜尋地區關鍵字「劍橋」時,系統將一併傳回有關「英國劍橋」和「美國麻薩諸塞州劍橋」的結果。這會降低搜尋關聯性。

舉例來說,如果其中一個商家資訊是城市和街道層級,另一個則是州層級,那麼在兩者都符合的區域搜尋中,這兩個商家資訊都不會顯示。

regionCodelanguageCode

這兩個欄位可讓 Job Search 在不同地理區域使用本地化搜尋邏輯 (例如,en_GB 中的「lorry driver」與美國的「truck driver」)。將 request.filters.locationFilters.regionCode 設為使用者搜尋的地理位置 (例如英國),並將 request.filters.languageCode 設為該地區的適當語言代碼 (在本例中為 en_GB)。

queryLanguageCode

建議您盡可能填入這個欄位。這個參數可讓 Job Search 處理意外或罕見的字詞,這些字詞可能無法在所需語言中正確顯示 (例如公司名稱)。

distanceInMiles

這個參數可設定求職者指定地點的方圓距離 (以英里為單位)。職缺搜尋功能會傳回這個地理區域範圍內的結果。對搜尋結果的地理位置套用指定距離的方式取決於求職者輸入的地點資訊類型。舉例來說,假如求職者輸入街道地址或郵遞區號,系統就會從單點設定 distanceInMiles 距離;如果求職者輸入的是城市,Job Search 就會對城市周邊套用定界框,然後從方框邊緣計算距離;而若使用者只輸入州/省或國家/地區,系統將直接忽略 distanceInMiles

請儘可能縮短里程半徑。如果設定的里程距離過長,可能會導致 Job Search 傳回超出求職者指定地點範圍之外的結果,導致關聯性降低。舉例來說,如果 distanceInMiles 設為 100 英里,則搜尋紐約市的工作時,系統將傳回搜尋範圍涵蓋紐澤西州和紐約上州的結果。因此,儘可能縮短半徑有助於提高搜尋結果的關聯性。

postingExpireTime

這個參數可設定職缺招募有效期限長度,到期後該職缺就不會再顯示於搜尋結果中。根據預設,CTS 會在建立時間 (世界標準時間) 後的 30 天移除工作。

employmentTypes

這不是必填欄位,但使用 employmentTypes 可提高搜尋結果關聯性。

職缺搜尋設定:自訂排名

您可以藉由精選職缺搜尋,根據單一變數 (promotionValue) 醒目顯示職缺,進而影響使用者的搜尋結果。詳情請參閱精選職缺搜尋說明文件。自訂排名可讓您根據多項變數影響搜尋結果,進一步控制排名。對於需要平衡考量關聯性與經濟利益因素的應用程式來說 (例如多層級的單次點擊出價訂閱者系統),這項功能相當實用。除了關聯性分數以外,rankingExpressionimportanceLevel 這兩個變數也會影響職缺搜尋結果的排名。如要進一步瞭解如何使用精選工作和自訂排名,請參閱教學影片

  • rankingExpression:這個變數會控制系統如何根據計算出的相關性分數,為職缺進行排名。必須將「rankingExpression」設為「filterable」,工作搜尋功能才能為參數建立索引。

  • importanceLevel:這個參數會在系統傳回搜尋結果時,替職缺設定排名上的重要程度,共有六個可能的層級:「未指定」、「NONE」、「LOW」、「MID」、「HIGH」和「EXTREME」。將值設為 EXTREME 會導致系統忽略所有其他 API 產生的關聯性因素,因此請謹慎使用這個值。求職者查詢傳回的搜尋結果最上方將顯示設為「EXTREME」的職缺,而不是最相關的職缺。

  • 精選職缺搜尋自訂排名精選職缺搜尋會顯示在關聯性排名上方,最適合用來宣傳同一類的職缺,例如某間公司的職缺。如果您除了關聯性排名,還需要根據多層級單次點擊出價變數來排名職缺,則建議採用自訂排名

通勤時間搜尋功能可讓求職者根據通勤時間搜尋職缺。如要啟用這項功能,請在 JobQuery.commuteFilter 欄位中加入 CommuteFilter 物件。CommuteFilter 會根據求職者指定的通勤方式、行程時間和起始座標計算通勤時間。求職者也必須選取 roadTraffic (TRAFFIC_FREEBUSY_HOUR) 或 departureTime,才能納入時間計算。詳情請參閱通勤時間搜尋功能實作教學頁面。

通勤搜尋結果是根據歷來資料和匯總資料,而非即時交通狀況。departureTime 交通狀況是根據指定時段的平均交通狀況計算得出。roadTraffic 下方的 BUSY_HOUR/TRAFFIC_FREE 選項分別是上午尖峰時段和午夜的平均交通狀況。無論使用者在何時傳送查詢,都會收到相同的通勤搜尋結果。

多用戶群架構 (選用)

Job Search 以用戶群做為 Google Cloud 專案及其上傳的任何資料之間的中間機構層。用戶群可避免資料在租戶群限制之間共用,因此不必建立多個專案即可將資料子集區隔開來。如果您有許多客戶,且不希望客戶間共享資料,但又希望能使用單一Google Cloud 專案來進行計費與產出報告,則維持多個用戶群會很有用。例如:

  • 人才招募網站供應商為旗下有多個子公司的機構建構人才招募網站。
  • 聘僱代理機構為多個企業建構工作申請者追蹤系統。

系統會為每個專案指派單一預設用戶群 ID。您可以在指定專案中建立多個用戶群,實作多用戶群架構。

用戶群彼此間是完全隔離的。所有 API 僅要求一個用戶群,避免在同一個 API 呼叫中跨多個用戶群查詢資料。機器學習演算法同樣會將用戶群視為獨立單位,不會跨越用戶群限制。專案可以視需要支援所需的用戶群數量。

安全性

CTS 提供的用戶群支援程度不高。您必須建立用戶群、指派用戶群 ID,並在提出要求時提供正確的用戶群 ID。CTS 會先確認該用戶群 ID 為指定專案所有,再從指定的用戶群擷取資料。負責捕捉未經授權存取行為的任何額外安全性措施,都必須在您的後端系統中進行管理。

資料管理和錯誤處理

資料完整性

  1. 上傳職缺:資料方面的問題可能會導致職缺無法上傳到工作搜尋,如需錯誤代碼清單,請參閱「HTTP 回應代碼」頁面。常見範例如下:

    • 職缺地區不正確,因此無法解析要求。
    • 公司或職缺欄位不存在,因此傳回錯誤的要求。

    排解職缺上傳問題的方法主要有以下三種:

  2. 建立職缺索引:Job Search 可用來為特定時段內上傳的所有職缺建立索引。不過,您的系統端可能會有配額限制;傳送工作至 CTS 之前,請務必先確認您系統對於索引建立要求的相關限制。

自行發動 DDoS 攻擊

處理錯誤

透過網路提供的 API 服務可能會出現間歇性連線失敗、長時間中斷、突然的服務維護作業,以及其他需要用戶端應用程式重試 API 要求的事件。請務必以網路友善的行為設計重試機制,例如指數輪詢

配額限制

請勿傳送超過配額的流量,尤其是遠遠超過配額的流量。否則,您的流量可能會被歸類為惡意,進而遭到封鎖。

刪除重複項目

重複的職缺項目可能會對求職者造成負面的搜尋體驗,Job Search 提供以下兩項有助盡量避免重複項目的功能:

  1. 建立職缺:如果您使用下列條件建立超過 2 個職缺,記錄將遭拒且傳回 4xx 錯誤:

    • 相同的 companyName, AND
    • 相同的 job_req_id, AND
    • 相同位置/languageCode
  2. 搜尋職缺:Job Search 會顯示與求職者搜尋查詢相關的工作。關聯性演算法的內建功能可確保系統傳回多元化職缺,避免近似相同的職缺相鄰顯示在搜尋結果中。