#[non_exhaustive]pub struct NaturalLanguageQueryUnderstandingSpec {
pub filter_extraction_condition: FilterExtractionCondition,
pub geo_search_query_detection_field_names: Vec<String>,
pub extracted_filter_behavior: ExtractedFilterBehavior,
pub allowed_field_names: Vec<String>,
/* private fields */
}assistant-service or conversational-search-service or search-service or serving-config-service only.Expand description
Specification to enable natural language understanding capabilities for search requests.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.filter_extraction_condition: FilterExtractionConditionThe condition under which filter extraction should occur.
Server behavior defaults to DISABLED.
geo_search_query_detection_field_names: Vec<String>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].
extracted_filter_behavior: ExtractedFilterBehaviorOptional. 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
is set to
FilterExtractionCondition.ENABLED.
allowed_field_names: Vec<String>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.
Implementations§
Source§impl NaturalLanguageQueryUnderstandingSpec
impl NaturalLanguageQueryUnderstandingSpec
pub fn new() -> Self
Sourcepub fn set_filter_extraction_condition<T: Into<FilterExtractionCondition>>(
self,
v: T,
) -> Self
pub fn set_filter_extraction_condition<T: Into<FilterExtractionCondition>>( self, v: T, ) -> Self
Sets the value of filter_extraction_condition.
§Example
use google_cloud_discoveryengine_v1::model::search_request::natural_language_query_understanding_spec::FilterExtractionCondition;
let x0 = NaturalLanguageQueryUnderstandingSpec::new().set_filter_extraction_condition(FilterExtractionCondition::Disabled);
let x1 = NaturalLanguageQueryUnderstandingSpec::new().set_filter_extraction_condition(FilterExtractionCondition::Enabled);Sourcepub fn set_geo_search_query_detection_field_names<T, V>(self, v: T) -> Self
pub fn set_geo_search_query_detection_field_names<T, V>(self, v: T) -> Self
Sets the value of geo_search_query_detection_field_names.
§Example
let x = NaturalLanguageQueryUnderstandingSpec::new().set_geo_search_query_detection_field_names(["a", "b", "c"]);Sourcepub fn set_extracted_filter_behavior<T: Into<ExtractedFilterBehavior>>(
self,
v: T,
) -> Self
pub fn set_extracted_filter_behavior<T: Into<ExtractedFilterBehavior>>( self, v: T, ) -> Self
Sets the value of extracted_filter_behavior.
§Example
use google_cloud_discoveryengine_v1::model::search_request::natural_language_query_understanding_spec::ExtractedFilterBehavior;
let x0 = NaturalLanguageQueryUnderstandingSpec::new().set_extracted_filter_behavior(ExtractedFilterBehavior::HardFilter);
let x1 = NaturalLanguageQueryUnderstandingSpec::new().set_extracted_filter_behavior(ExtractedFilterBehavior::SoftBoost);Sourcepub fn set_allowed_field_names<T, V>(self, v: T) -> Self
pub fn set_allowed_field_names<T, V>(self, v: T) -> Self
Sets the value of allowed_field_names.
§Example
let x = NaturalLanguageQueryUnderstandingSpec::new().set_allowed_field_names(["a", "b", "c"]);Trait Implementations§
Source§impl Clone for NaturalLanguageQueryUnderstandingSpec
impl Clone for NaturalLanguageQueryUnderstandingSpec
Source§fn clone(&self) -> NaturalLanguageQueryUnderstandingSpec
fn clone(&self) -> NaturalLanguageQueryUnderstandingSpec
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Default for NaturalLanguageQueryUnderstandingSpec
impl Default for NaturalLanguageQueryUnderstandingSpec
Source§fn default() -> NaturalLanguageQueryUnderstandingSpec
fn default() -> NaturalLanguageQueryUnderstandingSpec
Source§impl PartialEq for NaturalLanguageQueryUnderstandingSpec
impl PartialEq for NaturalLanguageQueryUnderstandingSpec
Source§fn eq(&self, other: &NaturalLanguageQueryUnderstandingSpec) -> bool
fn eq(&self, other: &NaturalLanguageQueryUnderstandingSpec) -> bool
self and other values to be equal, and is used by ==.