職缺搜尋參數:最佳做法

職缺搜尋設定

本節將說明可用於設定 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。在 Job Search 傳回的搜尋結果中,頂端是最相關的職缺,隨後則是關鍵字比對相符的職缺及查詢擴充的職缺 (按地點、工作類別等擴充)。這項設定能盡量增加傳回的職缺總數。

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

Request.pageSize

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

customAttributes

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

地點欄位

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

locationFilter

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

舉例來說,如果一個商家資訊的精確度達到城市和街道層級,另一個則只達到州層級,那麼在符合這兩個商家資訊的在地化搜尋中,這兩個商家資訊都不會顯示。

regionCodelanguageCode

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

queryLanguageCode

建議您盡可能填寫這個欄位。這個參數可讓職缺搜尋處理可能不會以所需語言正確顯示的罕見或非預期字詞 (例如公司名稱)。

distanceInMiles

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

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

postingExpireTime

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

employmentTypes

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

職缺搜尋設定:自訂排名

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

  • rankingExpression:這項變數會根據計算出的相關性分數,控管工作的排序方式。「rankingExpression」必須設為「filterable」(可篩選),Google 職缺搜尋才能為參數建立索引。

  • 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. 上傳職缺:資料方面的問題可能會導致職缺無法上傳到 Job Search。如需錯誤代碼清單,請參閱「HTTP 回應代碼」頁面。常見範例包括:

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

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

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

自行發動的 DDoS 攻擊

處理錯誤

透過網際網路提供的 API 服務可能會發生間歇性連線失敗、長時間中斷、突然進行服務維護等事件,因此用戶端應用程式必須重試 API 要求。請務必設計重試機制,確保網路友善行為,例如指數輪詢

配額限制

請避免傳送的流量超出已佈建配額,尤其是超出已佈建配額。否則,您的流量可能會被歸類為惡意流量,因此遭到封鎖。

刪除重複項目

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

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

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