自訂屬性篩選器:多個屬性
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
這個範例示範如何使用多個屬性的自訂屬性篩選器搜尋職缺。
深入探索
如需包含這個程式碼範例的詳細說明文件,請參閱下列內容:
程式碼範例
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],[],[],[],null,["# Custom Attribute Filter Multiple Attributes\n\nThis sample demonstrates how to use custom attribute filters with multiple attributes to search for jobs.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Custom attributes (v3)](/talent-solution/job-search/v3/docs/custom-attributes)\n\nCode sample\n-----------\n\n### Go\n\n\nTo learn how to install and use the client library for CTS, see\n[CTS client libraries](/talent-solution/job-search/docs/libraries).\n\n\nFor more information, see the\n[CTS Go API\nreference documentation](/go/docs/reference/cloud.google.com/go/talent/latest/apiv4).\n\n\nTo authenticate to CTS, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n\n // filterOnLongValueCustomAttribute searches for jobs on multiple custom\n // atrributes.\n func filterOnMultiCustomAttributes(w io.Writer, projectID string) (*talent.SearchJobsResponse, error) {\n \tctx := context.Background()\n\n \tclient, err := google.DefaultClient(ctx, talent.CloudPlatformScope)\n \tif err != nil {\n \t\treturn nil, fmt.Errorf(\"google.DefaultClient: %w\", err)\n \t}\n \t// Create the jobs service client.\n \tservice, err := talent.New(client)\n \tif err != nil {\n \t\treturn nil, fmt.Errorf(\"talent.New: %w\", err)\n \t}\n\n \tparent := \"projects/\" + projectID\n \treq := &talent.SearchJobsRequest{\n \t\tJobQuery: &talent.JobQuery{\n \t\t\tCustomAttributeFilter: \"(someFieldString = \\\"someStrVal\\\") AND (someFieldLong \u003c 1000)\",\n \t\t},\n \t\t// Make sure to set the RequestMetadata the same as the associated\n \t\t// search request.\n \t\tRequestMetadata: &talent.RequestMetadata{\n \t\t\t// Make sure to hash your userID.\n \t\t\tUserId: \"HashedUsrId\",\n \t\t\t// Make sure to hash the sessionID.\n \t\t\tSessionId: \"HashedSessionId\",\n \t\t\t// Domain of the website where the search is conducted.\n \t\t\tDomain: \"www.googlesample.com\",\n \t\t},\n \t\tJobView: \"JOB_VIEW_FULL\",\n \t}\n \tresp, err := service.Projects.Jobs.Search(parent, req).Do()\n \tif err != nil {\n \t\treturn nil, fmt.Errorf(\"failed to search for jobs with multiple custom attributes: %w\", err)\n \t}\n\n \tfmt.Fprintln(w, \"Jobs:\")\n \tfor _, j := range resp.MatchingJobs {\n \t\tfmt.Fprintf(w, \"\\t%q\\n\", j.Job.Name)\n \t}\n\n \treturn resp, nil\n }\n\n### Java\n\n\nTo learn how to install and use the client library for CTS, see\n[CTS client libraries](/talent-solution/job-search/docs/libraries).\n\n\nFor more information, see the\n[CTS Java API\nreference documentation](/java/docs/reference/google-cloud-talent/latest/overview).\n\n\nTo authenticate to CTS, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n\n /** CustomAttributeFilter on multiple CustomAttributes */\n public static void filtersOnMultiCustomAttributes() throws IOException, InterruptedException {\n // Make sure to set the requestMetadata the same as the associated search request\n RequestMetadata requestMetadata =\n new RequestMetadata()\n // Make sure to hash your userID\n .setUserId(\"HashedUserId\")\n // Make sure to hash the sessionID\n .setSessionId(\"HashedSessionID\")\n // Domain of the website where the search is conducted\n .setDomain(\"www.google.com\");\n\n String customAttributeFilter =\n \"(someFieldName1 = \\\"value1\\\") \"\n + \"AND ((255 \u003c= someFieldName2) OR (someFieldName2 \u003c= 213))\";\n JobQuery jobQuery = new JobQuery().setCustomAttributeFilter(customAttributeFilter);\n\n SearchJobsRequest searchJobsRequest =\n new SearchJobsRequest()\n .setJobQuery(jobQuery)\n .setRequestMetadata(requestMetadata)\n .setJobView(\"JOB_VIEW_FULL\");\n SearchJobsResponse response =\n talentSolutionClient\n .projects()\n .jobs()\n .search(DEFAULT_PROJECT_ID, searchJobsRequest)\n .execute();\n Thread.sleep(1000);\n System.out.printf(\"Custom search job results (multiple value): %s\\n\", response);\n }\n\n### Python\n\n\nTo learn how to install and use the client library for CTS, see\n[CTS client libraries](/talent-solution/job-search/docs/libraries).\n\n\nFor more information, see the\n[CTS Python API\nreference documentation](/python/docs/reference/talent/latest).\n\n\nTo authenticate to CTS, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n def custom_attribute_filter_multi_attributes(client_service):\n request_metadata = {\n \"user_id\": \"HashedUserId\",\n \"session_id\": \"HashedSessionId\",\n \"domain\": \"www.google.com\",\n }\n\n custom_attribute_filter = (\n '(someFieldName1 = \"value1\") AND ((255 \u003c= someFieldName2) OR '\n \"(someFieldName2 \u003c= 213))\"\n )\n job_query = {\"custom_attribute_filter\": custom_attribute_filter}\n request = {\n \"request_metadata\": request_metadata,\n \"job_query\": job_query,\n \"job_view\": \"JOB_VIEW_FULL\",\n }\n\n response = (\n client_service.projects().jobs().search(parent=parent, body=request).execute()\n )\n print(response)\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=job)."]]