public static final class SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder extends com.google.protobuf.GeneratedMessage.Builder<SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder> implements SearchRequest.NaturalLanguageQueryUnderstandingSpecOrBuilder
Specification to enable natural language understanding capabilities for search requests.Protobuf type
google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpecaddRepeatedField, clearField, clearOneof, clone, getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownFields, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setField, setRepeatedField, setUnknownFields, setUnknownFieldSetBuilder, setUnknownFieldsProto3findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringaddAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageExceptionequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitfindInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneofpublic static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder>public SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder clear()
clear in interface com.google.protobuf.Message.Builderclear in interface com.google.protobuf.MessageLite.Builderclear in class com.google.protobuf.GeneratedMessage.Builder<SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder>public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
getDescriptorForType in interface com.google.protobuf.Message.BuildergetDescriptorForType in interface com.google.protobuf.MessageOrBuildergetDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder>public SearchRequest.NaturalLanguageQueryUnderstandingSpec getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderpublic SearchRequest.NaturalLanguageQueryUnderstandingSpec build()
build in interface com.google.protobuf.Message.Builderbuild in interface com.google.protobuf.MessageLite.Builderpublic SearchRequest.NaturalLanguageQueryUnderstandingSpec buildPartial()
buildPartial in interface com.google.protobuf.Message.BuilderbuildPartial in interface com.google.protobuf.MessageLite.Builderpublic SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder mergeFrom(com.google.protobuf.Message other)
mergeFrom in interface com.google.protobuf.Message.BuildermergeFrom in class com.google.protobuf.AbstractMessage.Builder<SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder>public SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder mergeFrom(SearchRequest.NaturalLanguageQueryUnderstandingSpec other)
public final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessage.Builder<SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder>public SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
mergeFrom in interface com.google.protobuf.Message.BuildermergeFrom in interface com.google.protobuf.MessageLite.BuildermergeFrom in class com.google.protobuf.AbstractMessage.Builder<SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder>IOExceptionpublic int getFilterExtractionConditionValue()
The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.
.google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition filter_extraction_condition = 1;
getFilterExtractionConditionValue in interface SearchRequest.NaturalLanguageQueryUnderstandingSpecOrBuilderpublic SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder setFilterExtractionConditionValue(int value)
The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.
.google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition filter_extraction_condition = 1;
value - The enum numeric value on the wire for filterExtractionCondition to set.public SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition getFilterExtractionCondition()
The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.
.google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition filter_extraction_condition = 1;
getFilterExtractionCondition in interface SearchRequest.NaturalLanguageQueryUnderstandingSpecOrBuilderpublic SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder setFilterExtractionCondition(SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition value)
The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.
.google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition filter_extraction_condition = 1;
value - The filterExtractionCondition to set.public SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder clearFilterExtractionCondition()
The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.
.google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition filter_extraction_condition = 1;
public com.google.protobuf.ProtocolStringList getGeoSearchQueryDetectionFieldNamesList()
Field names used for location-based filtering, where geolocation filters are detected in natural language search queries. Only valid when the FilterExtractionCondition is set to `ENABLED`. If this field is set, it overrides the field names set in [ServingConfig.geo_search_query_detection_field_names][google.cloud.discoveryengine.v1.ServingConfig.geo_search_query_detection_field_names].
repeated string geo_search_query_detection_field_names = 2;getGeoSearchQueryDetectionFieldNamesList in interface SearchRequest.NaturalLanguageQueryUnderstandingSpecOrBuilderpublic int getGeoSearchQueryDetectionFieldNamesCount()
Field names used for location-based filtering, where geolocation filters are detected in natural language search queries. Only valid when the FilterExtractionCondition is set to `ENABLED`. If this field is set, it overrides the field names set in [ServingConfig.geo_search_query_detection_field_names][google.cloud.discoveryengine.v1.ServingConfig.geo_search_query_detection_field_names].
repeated string geo_search_query_detection_field_names = 2;getGeoSearchQueryDetectionFieldNamesCount in interface SearchRequest.NaturalLanguageQueryUnderstandingSpecOrBuilderpublic String getGeoSearchQueryDetectionFieldNames(int index)
Field names used for location-based filtering, where geolocation filters are detected in natural language search queries. Only valid when the FilterExtractionCondition is set to `ENABLED`. If this field is set, it overrides the field names set in [ServingConfig.geo_search_query_detection_field_names][google.cloud.discoveryengine.v1.ServingConfig.geo_search_query_detection_field_names].
repeated string geo_search_query_detection_field_names = 2;getGeoSearchQueryDetectionFieldNames in interface SearchRequest.NaturalLanguageQueryUnderstandingSpecOrBuilderindex - The index of the element to return.public com.google.protobuf.ByteString getGeoSearchQueryDetectionFieldNamesBytes(int index)
Field names used for location-based filtering, where geolocation filters are detected in natural language search queries. Only valid when the FilterExtractionCondition is set to `ENABLED`. If this field is set, it overrides the field names set in [ServingConfig.geo_search_query_detection_field_names][google.cloud.discoveryengine.v1.ServingConfig.geo_search_query_detection_field_names].
repeated string geo_search_query_detection_field_names = 2;getGeoSearchQueryDetectionFieldNamesBytes in interface SearchRequest.NaturalLanguageQueryUnderstandingSpecOrBuilderindex - The index of the value to return.public SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder setGeoSearchQueryDetectionFieldNames(int index, String value)
Field names used for location-based filtering, where geolocation filters are detected in natural language search queries. Only valid when the FilterExtractionCondition is set to `ENABLED`. If this field is set, it overrides the field names set in [ServingConfig.geo_search_query_detection_field_names][google.cloud.discoveryengine.v1.ServingConfig.geo_search_query_detection_field_names].
repeated string geo_search_query_detection_field_names = 2;index - The index to set the value at.value - The geoSearchQueryDetectionFieldNames to set.public SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder addGeoSearchQueryDetectionFieldNames(String value)
Field names used for location-based filtering, where geolocation filters are detected in natural language search queries. Only valid when the FilterExtractionCondition is set to `ENABLED`. If this field is set, it overrides the field names set in [ServingConfig.geo_search_query_detection_field_names][google.cloud.discoveryengine.v1.ServingConfig.geo_search_query_detection_field_names].
repeated string geo_search_query_detection_field_names = 2;value - The geoSearchQueryDetectionFieldNames to add.public SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder addAllGeoSearchQueryDetectionFieldNames(Iterable<String> values)
Field names used for location-based filtering, where geolocation filters are detected in natural language search queries. Only valid when the FilterExtractionCondition is set to `ENABLED`. If this field is set, it overrides the field names set in [ServingConfig.geo_search_query_detection_field_names][google.cloud.discoveryengine.v1.ServingConfig.geo_search_query_detection_field_names].
repeated string geo_search_query_detection_field_names = 2;values - The geoSearchQueryDetectionFieldNames to add.public SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder clearGeoSearchQueryDetectionFieldNames()
Field names used for location-based filtering, where geolocation filters are detected in natural language search queries. Only valid when the FilterExtractionCondition is set to `ENABLED`. If this field is set, it overrides the field names set in [ServingConfig.geo_search_query_detection_field_names][google.cloud.discoveryengine.v1.ServingConfig.geo_search_query_detection_field_names].
repeated string geo_search_query_detection_field_names = 2;public SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder addGeoSearchQueryDetectionFieldNamesBytes(com.google.protobuf.ByteString value)
Field names used for location-based filtering, where geolocation filters are detected in natural language search queries. Only valid when the FilterExtractionCondition is set to `ENABLED`. If this field is set, it overrides the field names set in [ServingConfig.geo_search_query_detection_field_names][google.cloud.discoveryengine.v1.ServingConfig.geo_search_query_detection_field_names].
repeated string geo_search_query_detection_field_names = 2;value - The bytes of the geoSearchQueryDetectionFieldNames to add.public int getExtractedFilterBehaviorValue()
Optional. Controls behavior of how extracted filters are applied to the search. The default behavior depends on the request. For single datastore structured search, the default is `HARD_FILTER`. For multi-datastore search, the default behavior is `SOFT_BOOST`. Location-based filters are always applied as hard filters, and the `SOFT_BOOST` setting will not affect them. This field is only used if [SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition][google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition] is set to [FilterExtractionCondition.ENABLED][google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition.ENABLED].
.google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.ExtractedFilterBehavior extracted_filter_behavior = 3 [(.google.api.field_behavior) = OPTIONAL];
getExtractedFilterBehaviorValue in interface SearchRequest.NaturalLanguageQueryUnderstandingSpecOrBuilderpublic SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder setExtractedFilterBehaviorValue(int value)
Optional. Controls behavior of how extracted filters are applied to the search. The default behavior depends on the request. For single datastore structured search, the default is `HARD_FILTER`. For multi-datastore search, the default behavior is `SOFT_BOOST`. Location-based filters are always applied as hard filters, and the `SOFT_BOOST` setting will not affect them. This field is only used if [SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition][google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition] is set to [FilterExtractionCondition.ENABLED][google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition.ENABLED].
.google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.ExtractedFilterBehavior extracted_filter_behavior = 3 [(.google.api.field_behavior) = OPTIONAL];
value - The enum numeric value on the wire for extractedFilterBehavior to set.public SearchRequest.NaturalLanguageQueryUnderstandingSpec.ExtractedFilterBehavior getExtractedFilterBehavior()
Optional. Controls behavior of how extracted filters are applied to the search. The default behavior depends on the request. For single datastore structured search, the default is `HARD_FILTER`. For multi-datastore search, the default behavior is `SOFT_BOOST`. Location-based filters are always applied as hard filters, and the `SOFT_BOOST` setting will not affect them. This field is only used if [SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition][google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition] is set to [FilterExtractionCondition.ENABLED][google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition.ENABLED].
.google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.ExtractedFilterBehavior extracted_filter_behavior = 3 [(.google.api.field_behavior) = OPTIONAL];
getExtractedFilterBehavior in interface SearchRequest.NaturalLanguageQueryUnderstandingSpecOrBuilderpublic SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder setExtractedFilterBehavior(SearchRequest.NaturalLanguageQueryUnderstandingSpec.ExtractedFilterBehavior value)
Optional. Controls behavior of how extracted filters are applied to the search. The default behavior depends on the request. For single datastore structured search, the default is `HARD_FILTER`. For multi-datastore search, the default behavior is `SOFT_BOOST`. Location-based filters are always applied as hard filters, and the `SOFT_BOOST` setting will not affect them. This field is only used if [SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition][google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition] is set to [FilterExtractionCondition.ENABLED][google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition.ENABLED].
.google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.ExtractedFilterBehavior extracted_filter_behavior = 3 [(.google.api.field_behavior) = OPTIONAL];
value - The extractedFilterBehavior to set.public SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder clearExtractedFilterBehavior()
Optional. Controls behavior of how extracted filters are applied to the search. The default behavior depends on the request. For single datastore structured search, the default is `HARD_FILTER`. For multi-datastore search, the default behavior is `SOFT_BOOST`. Location-based filters are always applied as hard filters, and the `SOFT_BOOST` setting will not affect them. This field is only used if [SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition][google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition] is set to [FilterExtractionCondition.ENABLED][google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.FilterExtractionCondition.ENABLED].
.google.cloud.discoveryengine.v1.SearchRequest.NaturalLanguageQueryUnderstandingSpec.ExtractedFilterBehavior extracted_filter_behavior = 3 [(.google.api.field_behavior) = OPTIONAL];
public com.google.protobuf.ProtocolStringList getAllowedFieldNamesList()
Optional. Allowlist of fields that can be used for natural language filter extraction. By default, if this is unspecified, all indexable fields are eligible for natural language filter extraction (but are not guaranteed to be used). If any fields are specified in allowed_field_names, only the fields that are both marked as indexable in the schema and specified in the allowlist will be eligible for natural language filter extraction. Note: for multi-datastore search, this is not yet supported, and will be ignored.
repeated string allowed_field_names = 4 [(.google.api.field_behavior) = OPTIONAL];
getAllowedFieldNamesList in interface SearchRequest.NaturalLanguageQueryUnderstandingSpecOrBuilderpublic int getAllowedFieldNamesCount()
Optional. Allowlist of fields that can be used for natural language filter extraction. By default, if this is unspecified, all indexable fields are eligible for natural language filter extraction (but are not guaranteed to be used). If any fields are specified in allowed_field_names, only the fields that are both marked as indexable in the schema and specified in the allowlist will be eligible for natural language filter extraction. Note: for multi-datastore search, this is not yet supported, and will be ignored.
repeated string allowed_field_names = 4 [(.google.api.field_behavior) = OPTIONAL];
getAllowedFieldNamesCount in interface SearchRequest.NaturalLanguageQueryUnderstandingSpecOrBuilderpublic String getAllowedFieldNames(int index)
Optional. Allowlist of fields that can be used for natural language filter extraction. By default, if this is unspecified, all indexable fields are eligible for natural language filter extraction (but are not guaranteed to be used). If any fields are specified in allowed_field_names, only the fields that are both marked as indexable in the schema and specified in the allowlist will be eligible for natural language filter extraction. Note: for multi-datastore search, this is not yet supported, and will be ignored.
repeated string allowed_field_names = 4 [(.google.api.field_behavior) = OPTIONAL];
getAllowedFieldNames in interface SearchRequest.NaturalLanguageQueryUnderstandingSpecOrBuilderindex - The index of the element to return.public com.google.protobuf.ByteString getAllowedFieldNamesBytes(int index)
Optional. Allowlist of fields that can be used for natural language filter extraction. By default, if this is unspecified, all indexable fields are eligible for natural language filter extraction (but are not guaranteed to be used). If any fields are specified in allowed_field_names, only the fields that are both marked as indexable in the schema and specified in the allowlist will be eligible for natural language filter extraction. Note: for multi-datastore search, this is not yet supported, and will be ignored.
repeated string allowed_field_names = 4 [(.google.api.field_behavior) = OPTIONAL];
getAllowedFieldNamesBytes in interface SearchRequest.NaturalLanguageQueryUnderstandingSpecOrBuilderindex - The index of the value to return.public SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder setAllowedFieldNames(int index, String value)
Optional. Allowlist of fields that can be used for natural language filter extraction. By default, if this is unspecified, all indexable fields are eligible for natural language filter extraction (but are not guaranteed to be used). If any fields are specified in allowed_field_names, only the fields that are both marked as indexable in the schema and specified in the allowlist will be eligible for natural language filter extraction. Note: for multi-datastore search, this is not yet supported, and will be ignored.
repeated string allowed_field_names = 4 [(.google.api.field_behavior) = OPTIONAL];
index - The index to set the value at.value - The allowedFieldNames to set.public SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder addAllowedFieldNames(String value)
Optional. Allowlist of fields that can be used for natural language filter extraction. By default, if this is unspecified, all indexable fields are eligible for natural language filter extraction (but are not guaranteed to be used). If any fields are specified in allowed_field_names, only the fields that are both marked as indexable in the schema and specified in the allowlist will be eligible for natural language filter extraction. Note: for multi-datastore search, this is not yet supported, and will be ignored.
repeated string allowed_field_names = 4 [(.google.api.field_behavior) = OPTIONAL];
value - The allowedFieldNames to add.public SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder addAllAllowedFieldNames(Iterable<String> values)
Optional. Allowlist of fields that can be used for natural language filter extraction. By default, if this is unspecified, all indexable fields are eligible for natural language filter extraction (but are not guaranteed to be used). If any fields are specified in allowed_field_names, only the fields that are both marked as indexable in the schema and specified in the allowlist will be eligible for natural language filter extraction. Note: for multi-datastore search, this is not yet supported, and will be ignored.
repeated string allowed_field_names = 4 [(.google.api.field_behavior) = OPTIONAL];
values - The allowedFieldNames to add.public SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder clearAllowedFieldNames()
Optional. Allowlist of fields that can be used for natural language filter extraction. By default, if this is unspecified, all indexable fields are eligible for natural language filter extraction (but are not guaranteed to be used). If any fields are specified in allowed_field_names, only the fields that are both marked as indexable in the schema and specified in the allowlist will be eligible for natural language filter extraction. Note: for multi-datastore search, this is not yet supported, and will be ignored.
repeated string allowed_field_names = 4 [(.google.api.field_behavior) = OPTIONAL];
public SearchRequest.NaturalLanguageQueryUnderstandingSpec.Builder addAllowedFieldNamesBytes(com.google.protobuf.ByteString value)
Optional. Allowlist of fields that can be used for natural language filter extraction. By default, if this is unspecified, all indexable fields are eligible for natural language filter extraction (but are not guaranteed to be used). If any fields are specified in allowed_field_names, only the fields that are both marked as indexable in the schema and specified in the allowlist will be eligible for natural language filter extraction. Note: for multi-datastore search, this is not yet supported, and will be ignored.
repeated string allowed_field_names = 4 [(.google.api.field_behavior) = OPTIONAL];
value - The bytes of the allowedFieldNames to add.Copyright © 2026 Google LLC. All rights reserved.