public sealed class CustomAttribute : IMessage<CustomAttribute>, IEquatable<CustomAttribute>, IDeepCloneable<CustomAttribute>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Cloud Talent Solution v4beta1 API class CustomAttribute.
Custom attribute values that are either filterable or non-filterable.
If the filterable flag is true, the custom field values may be used for
custom attribute filters
[JobQuery.custom_attribute_filter][google.cloud.talent.v4beta1.JobQuery.custom_attribute_filter].
If false, these values may not be used for custom attribute filters.
If the keyword_searchable flag is true, the keywords in custom fields are
searchable by keyword match.
If false, the values are not searchable by keyword match.
Exactly one of
[string_values][google.cloud.talent.v4beta1.CustomAttribute.string_values]
or [long_values][google.cloud.talent.v4beta1.CustomAttribute.long_values]
must be specified.
This field is used to perform number range search.
(EQ, GT, GE, LE, LT) over filterable long_value.
Currently at most 1
[long_values][google.cloud.talent.v4beta1.CustomAttribute.long_values] is
supported.
public RepeatedField<string> StringValues { get; }
Exactly one of
[string_values][google.cloud.talent.v4beta1.CustomAttribute.string_values]
or [long_values][google.cloud.talent.v4beta1.CustomAttribute.long_values]
must be specified.
This field is used to perform a string match (CASE_SENSITIVE_MATCH or
CASE_INSENSITIVE_MATCH) search.
For filterable string_values, a maximum total number of 200 values
is allowed, with each string_value has a byte size of no more than
500B. For unfilterable string_values, the maximum total byte size of
unfilterable string_values is 50KB.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eCustomAttribute\u003c/code\u003e class in the Google Cloud Talent Solution v4beta1 API allows for defining custom attribute values that can be either filterable or non-filterable.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eCustomAttribute\u003c/code\u003e offers properties \u003ccode\u003eFilterable\u003c/code\u003e and \u003ccode\u003eKeywordSearchable\u003c/code\u003e to determine if the attribute can be used in custom filters or keyword searches respectively.\u003c/p\u003e\n"],["\u003cp\u003eThe class supports two types of values for attributes, \u003ccode\u003eLongValues\u003c/code\u003e for numerical range searches and \u003ccode\u003eStringValues\u003c/code\u003e for case-sensitive or case-insensitive string matching.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCustomAttribute\u003c/code\u003e class is part of the \u003ccode\u003eGoogle.Cloud.Talent.V4Beta1\u003c/code\u003e namespace and is implemented using several interfaces like \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, and \u003ccode\u003eIDeepCloneable\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eCustomAttribute\u003c/code\u003e can be instantiated with a constructor with no parameter, or with another \u003ccode\u003eCustomAttribute\u003c/code\u003e as a parameter.\u003c/p\u003e\n"]]],[],null,["# Google Cloud Talent Solution v4beta1 API - Class CustomAttribute (3.0.0-beta06)\n\nVersion latestkeyboard_arrow_down\n\n- [3.0.0-beta06 (latest)](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/latest/Google.Cloud.Talent.V4Beta1.CustomAttribute)\n- [3.0.0-beta05](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/3.0.0-beta05/Google.Cloud.Talent.V4Beta1.CustomAttribute)\n- [2.0.0-beta07](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/2.0.0-beta07/Google.Cloud.Talent.V4Beta1.CustomAttribute) \n\n public sealed class CustomAttribute : IMessage\u003cCustomAttribute\u003e, IEquatable\u003cCustomAttribute\u003e, IDeepCloneable\u003cCustomAttribute\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Cloud Talent Solution v4beta1 API class CustomAttribute.\n\nCustom attribute values that are either filterable or non-filterable. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e CustomAttribute \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[CustomAttribute](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/latest/Google.Cloud.Talent.V4Beta1.CustomAttribute), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[CustomAttribute](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/latest/Google.Cloud.Talent.V4Beta1.CustomAttribute), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[CustomAttribute](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/latest/Google.Cloud.Talent.V4Beta1.CustomAttribute), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Talent.V4Beta1](/dotnet/docs/reference/Google.Cloud.Talent.V4Beta1/latest/Google.Cloud.Talent.V4Beta1)\n\nAssembly\n--------\n\nGoogle.Cloud.Talent.V4Beta1.dll\n\nConstructors\n------------\n\n### CustomAttribute()\n\n public CustomAttribute()\n\n### CustomAttribute(CustomAttribute)\n\n public CustomAttribute(CustomAttribute other)\n\nProperties\n----------\n\n### Filterable\n\n public bool Filterable { get; set; }\n\nIf the `filterable` flag is true, the custom field values may be used for\ncustom attribute filters\n\\[JobQuery.custom_attribute_filter\\]\\[google.cloud.talent.v4beta1.JobQuery.custom_attribute_filter\\].\nIf false, these values may not be used for custom attribute filters.\n\nDefault is false.\n\n### KeywordSearchable\n\n public bool KeywordSearchable { get; set; }\n\nIf the `keyword_searchable` flag is true, the keywords in custom fields are\nsearchable by keyword match.\nIf false, the values are not searchable by keyword match.\n\nDefault is false.\n\n### LongValues\n\n public RepeatedField\u003clong\u003e LongValues { get; }\n\nExactly one of\n\\[string_values\\]\\[google.cloud.talent.v4beta1.CustomAttribute.string_values\\]\nor \\[long_values\\]\\[google.cloud.talent.v4beta1.CustomAttribute.long_values\\]\nmust be specified.\n\nThis field is used to perform number range search.\n(`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.\n\nCurrently at most 1\n\\[long_values\\]\\[google.cloud.talent.v4beta1.CustomAttribute.long_values\\] is\nsupported.\n\n### StringValues\n\n public RepeatedField\u003cstring\u003e StringValues { get; }\n\nExactly one of\n\\[string_values\\]\\[google.cloud.talent.v4beta1.CustomAttribute.string_values\\]\nor \\[long_values\\]\\[google.cloud.talent.v4beta1.CustomAttribute.long_values\\]\nmust be specified.\n\nThis field is used to perform a string match (`CASE_SENSITIVE_MATCH` or\n`CASE_INSENSITIVE_MATCH`) search.\nFor filterable `string_value`s, a maximum total number of 200 values\nis allowed, with each `string_value` has a byte size of no more than\n500B. For unfilterable `string_values`, the maximum total byte size of\nunfilterable `string_values` is 50KB.\n\nEmpty string isn't allowed."]]