public sealed class SearchRequest.Types.NaturalLanguageQueryUnderstandingSpec : IMessage<SearchRequest.Types.NaturalLanguageQueryUnderstandingSpec>, IEquatable<SearchRequest.Types.NaturalLanguageQueryUnderstandingSpec>, IDeepCloneable<SearchRequest.Types.NaturalLanguageQueryUnderstandingSpec>, IBufferMessage, IMessage
Reference documentation and code samples for the Discovery Engine v1beta API class SearchRequest.Types.NaturalLanguageQueryUnderstandingSpec.
Specification to enable natural language understanding capabilities for
search requests.
public RepeatedField<string> GeoSearchQueryDetectionFieldNames { get; }
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.v1beta.ServingConfig.geo_search_query_detection_field_names].
[[["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\u003eThis documentation is for the \u003ccode\u003eSearchRequest.Types.NaturalLanguageQueryUnderstandingSpec\u003c/code\u003e class within the Google Cloud Discovery Engine v1beta API, specifically version 1.0.0-beta18.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eNaturalLanguageQueryUnderstandingSpec\u003c/code\u003e class is designed to enable natural language understanding capabilities for search requests.\u003c/p\u003e\n"],["\u003cp\u003eThis class inherits from \u003ccode\u003eobject\u003c/code\u003e and implements several interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt includes properties such as \u003ccode\u003eFilterExtractionCondition\u003c/code\u003e and \u003ccode\u003eGeoSearchQueryDetectionFieldNames\u003c/code\u003e to configure filter extraction and geolocation-based filtering in natural language search queries.\u003c/p\u003e\n"],["\u003cp\u003eThis class contains two constructors, the first one without any parameters, and the second one using a \u003ccode\u003eSearchRequest.Types.NaturalLanguageQueryUnderstandingSpec\u003c/code\u003e object as a parameter.\u003c/p\u003e\n"]]],[],null,["# Discovery Engine v1beta API - Class SearchRequest.Types.NaturalLanguageQueryUnderstandingSpec (1.0.0-beta19)\n\nVersion latestkeyboard_arrow_down\n\n- [1.0.0-beta19 (latest)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchRequest.Types.NaturalLanguageQueryUnderstandingSpec)\n- [1.0.0-beta18](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/1.0.0-beta18/Google.Cloud.DiscoveryEngine.V1Beta.SearchRequest.Types.NaturalLanguageQueryUnderstandingSpec) \n\n public sealed class SearchRequest.Types.NaturalLanguageQueryUnderstandingSpec : IMessage\u003cSearchRequest.Types.NaturalLanguageQueryUnderstandingSpec\u003e, IEquatable\u003cSearchRequest.Types.NaturalLanguageQueryUnderstandingSpec\u003e, IDeepCloneable\u003cSearchRequest.Types.NaturalLanguageQueryUnderstandingSpec\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Discovery Engine v1beta API class SearchRequest.Types.NaturalLanguageQueryUnderstandingSpec.\n\nSpecification to enable natural language understanding capabilities for\nsearch requests. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e SearchRequest.Types.NaturalLanguageQueryUnderstandingSpec \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[SearchRequest](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchRequest)[Types](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchRequest.Types)[NaturalLanguageQueryUnderstandingSpec](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchRequest.Types.NaturalLanguageQueryUnderstandingSpec), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[SearchRequest](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchRequest)[Types](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchRequest.Types)[NaturalLanguageQueryUnderstandingSpec](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchRequest.Types.NaturalLanguageQueryUnderstandingSpec), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[SearchRequest](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchRequest)[Types](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchRequest.Types)[NaturalLanguageQueryUnderstandingSpec](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.SearchRequest.Types.NaturalLanguageQueryUnderstandingSpec), [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.DiscoveryEngine.V1Beta](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta)\n\nAssembly\n--------\n\nGoogle.Cloud.DiscoveryEngine.V1Beta.dll\n\nConstructors\n------------\n\n### NaturalLanguageQueryUnderstandingSpec()\n\n public NaturalLanguageQueryUnderstandingSpec()\n\n### NaturalLanguageQueryUnderstandingSpec(NaturalLanguageQueryUnderstandingSpec)\n\n public NaturalLanguageQueryUnderstandingSpec(SearchRequest.Types.NaturalLanguageQueryUnderstandingSpec other)\n\nProperties\n----------\n\n### FilterExtractionCondition\n\n public SearchRequest.Types.NaturalLanguageQueryUnderstandingSpec.Types.FilterExtractionCondition FilterExtractionCondition { get; set; }\n\nThe condition under which filter extraction should occur.\nDefault to \\[Condition.DISABLED\\]\\[\\].\n\n### GeoSearchQueryDetectionFieldNames\n\n public RepeatedField\u003cstring\u003e GeoSearchQueryDetectionFieldNames { get; }\n\nField names used for location-based filtering, where geolocation filters\nare detected in natural language search queries.\nOnly valid when the FilterExtractionCondition is set to `ENABLED`.\n\nIf this field is set, it overrides the field names set in\n\\[ServingConfig.geo_search_query_detection_field_names\\]\\[google.cloud.discoveryengine.v1beta.ServingConfig.geo_search_query_detection_field_names\\]."]]