blob: 3368515bb2ecbe785a02bc4341b31cb2b852e601 [file] [log] [blame]
<html><body>
<style>
body, h1, h2, h3, div, span, p, pre, a {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
body {
font-size: 13px;
padding: 1em;
}
h1 {
font-size: 26px;
margin-bottom: 1em;
}
h2 {
font-size: 24px;
margin-bottom: 1em;
}
h3 {
font-size: 20px;
margin-bottom: 1em;
margin-top: 1em;
}
pre, code {
line-height: 1.5;
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}
pre {
margin-top: 0.5em;
}
h1, h2, h3, p {
font-family: Arial, sans serif;
}
h1, h2, h3 {
border-bottom: solid #CCC 1px;
}
.toc_element {
margin-top: 0.5em;
}
.firstline {
margin-left: 2 em;
}
.method {
margin-top: 1em;
border: solid 1px #CCC;
padding: 1em;
background: #EEE;
}
.details {
font-weight: bold;
font-size: 14px;
}
</style>
<h1><a href="cloudsearch_v1.html">Cloud Search API</a> . <a href="cloudsearch_v1.query.html">query</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="cloudsearch_v1.query.sources.html">sources()</a></code>
</p>
<p class="firstline">Returns the sources Resource.</p>
<p class="toc_element">
<code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
<code><a href="#search">search(body=None, x__xgafv=None)</a></code></p>
<p class="firstline">The Cloud Search Query API provides the search method, which returns the most relevant results from a user query. The results can come from G Suite Apps, such as Gmail or Google Drive, or they can come from data that you have indexed from a third party. **Note:** This API requires a standard end user account to execute. A service account can't perform Query API requests directly; to use a service account to perform queries, set up [G Suite domain-wide delegation of authority](https://developers.google.com/cloud-search/docs/guides/delegation/).</p>
<p class="toc_element">
<code><a href="#suggest">suggest(body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Provides suggestions for autocompleting the query. **Note:** This API requires a standard end user account to execute. A service account can't perform Query API requests directly; to use a service account to perform queries, set up [G Suite domain-wide delegation of authority](https://developers.google.com/cloud-search/docs/guides/delegation/).</p>
<h3>Method Details</h3>
<div class="method">
<code class="details" id="close">close()</code>
<pre>Close httplib2 connections.</pre>
</div>
<div class="method">
<code class="details" id="search">search(body=None, x__xgafv=None)</code>
<pre>The Cloud Search Query API provides the search method, which returns the most relevant results from a user query. The results can come from G Suite Apps, such as Gmail or Google Drive, or they can come from data that you have indexed from a third party. **Note:** This API requires a standard end user account to execute. A service account can&#x27;t perform Query API requests directly; to use a service account to perform queries, set up [G Suite domain-wide delegation of authority](https://developers.google.com/cloud-search/docs/guides/delegation/).
Args:
body: object, The request body.
The object takes the form of:
{ # The search API request.
&quot;contextAttributes&quot;: [ # Context attributes for the request which will be used to adjust ranking of search results. The maximum number of elements is 10.
{ # A named attribute associated with an item which can be used for influencing the ranking of the item based on the context in the request.
&quot;name&quot;: &quot;A String&quot;, # The name of the attribute. It should not be empty. The maximum length is 32 characters. The name must start with a letter and can only contain letters (A-Z, a-z) or numbers (0-9). The name will be normalized (lower-cased) before being matched.
&quot;values&quot;: [ # Text values of the attribute. The maximum number of elements is 10. The maximum length of an element in the array is 32 characters. The value will be normalized (lower-cased) before being matched.
&quot;A String&quot;,
],
},
],
&quot;dataSourceRestrictions&quot;: [ # The sources to use for querying. If not specified, all data sources from the current search application are used.
{ # Restriction on Datasource.
&quot;filterOptions&quot;: [ # Filter options restricting the results. If multiple filters are present, they are grouped by object type before joining. Filters with the same object type are joined conjunctively, then the resulting expressions are joined disjunctively. The maximum number of elements is 20. NOTE: Suggest API supports only few filters at the moment: &quot;objecttype&quot;, &quot;type&quot; and &quot;mimetype&quot;. For now, schema specific filters cannot be used to filter suggestions.
{ # Filter options to be applied on query.
&quot;filter&quot;: { # A generic way of expressing filters in a query, which supports two approaches: **1. Setting a ValueFilter.** The name must match an operator_name defined in the schema for your data source. **2. Setting a CompositeFilter.** The filters are evaluated using the logical operator. The top-level operators can only be either an AND or a NOT. AND can appear only at the top-most level. OR can appear only under a top-level AND. # Generic filter to restrict the search, such as `lang:en`, `site:xyz`.
&quot;compositeFilter&quot;: {
&quot;logicOperator&quot;: &quot;A String&quot;, # The logic operator of the sub filter.
&quot;subFilters&quot;: [ # Sub filters.
# Object with schema name: Filter
],
},
&quot;valueFilter&quot;: {
&quot;operatorName&quot;: &quot;A String&quot;, # The `operator_name` applied to the query, such as *price_greater_than*. The filter can work against both types of filters defined in the schema for your data source: 1. `operator_name`, where the query filters results by the property that matches the value. 2. `greater_than_operator_name` or `less_than_operator_name` in your schema. The query filters the results for the property values that are greater than or less than the supplied value in the query.
&quot;value&quot;: { # Definition of a single value with generic type. # The value to be compared with.
&quot;booleanValue&quot;: True or False,
&quot;dateValue&quot;: { # Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999.
&quot;day&quot;: 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
&quot;month&quot;: 42, # Month of date. Must be from 1 to 12.
&quot;year&quot;: 42, # Year of date. Must be from 1 to 9999.
},
&quot;doubleValue&quot;: 3.14,
&quot;integerValue&quot;: &quot;A String&quot;,
&quot;stringValue&quot;: &quot;A String&quot;,
&quot;timestampValue&quot;: &quot;A String&quot;,
},
},
},
&quot;objectType&quot;: &quot;A String&quot;, # If object_type is set, only objects of that type are returned. This should correspond to the name of the object that was registered within the definition of schema. The maximum length is 256 characters.
},
],
&quot;source&quot;: { # Defines sources for the suggest/search APIs. # The source of restriction.
&quot;name&quot;: &quot;A String&quot;, # Source name for content indexed by the Indexing API.
&quot;predefinedSource&quot;: &quot;A String&quot;, # Predefined content source for Google Apps.
},
},
],
&quot;facetOptions&quot;: [
{ # Specifies operators to return facet results for. There will be one FacetResult for every source_name/object_type/operator_name combination.
&quot;numFacetBuckets&quot;: 42, # Maximum number of facet buckets that should be returned for this facet. Defaults to 10. Maximum value is 100.
&quot;objectType&quot;: &quot;A String&quot;, # If object_type is set, only those objects of that type will be used to compute facets. If empty, then all objects will be used to compute facets.
&quot;operatorName&quot;: &quot;A String&quot;, # Name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions
&quot;sourceName&quot;: &quot;A String&quot;, # Source name to facet on. Format: datasources/{source_id} If empty, all data sources will be used.
},
],
&quot;pageSize&quot;: 42, # Maximum number of search results to return in one page. Valid values are between 1 and 100, inclusive. Default value is 10. Minimum value is 50 when results beyond 2000 are requested.
&quot;query&quot;: &quot;A String&quot;, # The raw query string. See supported search operators in the [Cloud search Cheat Sheet](https://support.google.com/a/users/answer/9299929)
&quot;queryInterpretationOptions&quot;: { # Options to interpret user query. # Options to interpret the user query.
&quot;disableNlInterpretation&quot;: True or False, # Flag to disable natural language (NL) interpretation of queries. Default is false, Set to true to disable natural language interpretation. NL interpretation only applies to predefined datasources.
&quot;enableVerbatimMode&quot;: True or False, # Enable this flag to turn off all internal optimizations like natural language (NL) interpretation of queries, supplemental result retrieval, and usage of synonyms including custom ones. Nl interpretation will be disabled if either one of the two flags is true.
},
&quot;requestOptions&quot;: { # Shared request options for all RPC methods. # Request options, such as the search application and user timezone.
&quot;debugOptions&quot;: { # Shared request debug options for all cloudsearch RPC methods. # Debug options of the request
&quot;enableDebugging&quot;: True or False, # If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field.
},
&quot;languageCode&quot;: &quot;A String&quot;, # The BCP-47 language code, such as &quot;en-US&quot; or &quot;sr-Latn&quot;. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. For translations. Set this field using the language set in browser or for the page. In the event that the user&#x27;s language preference is known, set this field to the known user language. When specified, the documents in search results are biased towards the specified language. The suggest API does not use this parameter. Instead, suggest autocompletes only based on characters in the query.
&quot;searchApplicationId&quot;: &quot;A String&quot;, # The ID generated when you create a search application using the [admin console](https://support.google.com/a/answer/9043922).
&quot;timeZone&quot;: &quot;A String&quot;, # Current user&#x27;s time zone id, such as &quot;America/Los_Angeles&quot; or &quot;Australia/Sydney&quot;. These IDs are defined by [Unicode Common Locale Data Repository (CLDR)](http://cldr.unicode.org/) project, and currently available in the file [timezone.xml](http://unicode.org/repos/cldr/trunk/common/bcp47/timezone.xml). This field is used to correctly interpret date and time queries. If this field is not specified, the default time zone (UTC) is used.
},
&quot;sortOptions&quot;: { # The options for sorting the search results
&quot;operatorName&quot;: &quot;A String&quot;, # Name of the operator corresponding to the field to sort on. The corresponding property must be marked as sortable.
&quot;sortOrder&quot;: &quot;A String&quot;, # Ascending is the default sort order
},
&quot;start&quot;: 42, # Starting index of the results.
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # The search API response.
&quot;debugInfo&quot;: { # Debugging information about the response. # Debugging information about the response.
&quot;formattedDebugInfo&quot;: &quot;A String&quot;, # General debug info formatted for display.
},
&quot;errorInfo&quot;: { # Error information about the response. # Error information about the response.
&quot;errorMessages&quot;: [
{ # Error message per source response.
&quot;errorMessage&quot;: &quot;A String&quot;,
&quot;source&quot;: { # Defines sources for the suggest/search APIs.
&quot;name&quot;: &quot;A String&quot;, # Source name for content indexed by the Indexing API.
&quot;predefinedSource&quot;: &quot;A String&quot;, # Predefined content source for Google Apps.
},
},
],
},
&quot;facetResults&quot;: [ # Repeated facet results.
{ # Source specific facet response
&quot;buckets&quot;: [ # FacetBuckets for values in response containing at least a single result.
{ # A bucket in a facet is the basic unit of operation. A bucket can comprise either a single value OR a contiguous range of values, depending on the type of the field bucketed. FacetBucket is currently used only for returning the response object.
&quot;count&quot;: 42, # Number of results that match the bucket value. Counts are only returned for searches when count accuracy is ensured. Can be empty.
&quot;percentage&quot;: 42, # Percent of results that match the bucket value. The returned value is between (0-100], and is rounded down to an integer if fractional. If the value is not explicitly returned, it represents a percentage value that rounds to 0. Percentages are returned for all searches, but are an estimate. Because percentages are always returned, you should render percentages instead of counts.
&quot;value&quot;: { # Definition of a single value with generic type.
&quot;booleanValue&quot;: True or False,
&quot;dateValue&quot;: { # Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999.
&quot;day&quot;: 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
&quot;month&quot;: 42, # Month of date. Must be from 1 to 12.
&quot;year&quot;: 42, # Year of date. Must be from 1 to 9999.
},
&quot;doubleValue&quot;: 3.14,
&quot;integerValue&quot;: &quot;A String&quot;,
&quot;stringValue&quot;: &quot;A String&quot;,
&quot;timestampValue&quot;: &quot;A String&quot;,
},
},
],
&quot;objectType&quot;: &quot;A String&quot;, # Object type for which facet results are returned. Can be empty.
&quot;operatorName&quot;: &quot;A String&quot;, # Name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions
&quot;sourceName&quot;: &quot;A String&quot;, # Source name for which facet results are returned. Will not be empty.
},
],
&quot;hasMoreResults&quot;: True or False, # Whether there are more search results matching the query.
&quot;queryInterpretation&quot;: { # Query interpretation result for user query. Empty if query interpretation is disabled.
&quot;interpretationType&quot;: &quot;A String&quot;,
&quot;interpretedQuery&quot;: &quot;A String&quot;, # The interpretation of the query used in search. For example, queries with natural language intent like &quot;email from john&quot; will be interpreted as &quot;from:john source:mail&quot;. This field will not be filled when the reason is NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY.
&quot;reason&quot;: &quot;A String&quot;, # The reason for interpretation of the query. This field will not be UNSPECIFIED if the interpretation type is not NONE.
},
&quot;resultCountEstimate&quot;: &quot;A String&quot;, # The estimated result count for this query.
&quot;resultCountExact&quot;: &quot;A String&quot;, # The exact result count for this query.
&quot;resultCounts&quot;: { # Result count information # Expanded result count information.
&quot;sourceResultCounts&quot;: [ # Result count information for each source with results.
{ # Per source result count information.
&quot;hasMoreResults&quot;: True or False, # Whether there are more search results for this source.
&quot;resultCountEstimate&quot;: &quot;A String&quot;, # The estimated result count for this source.
&quot;resultCountExact&quot;: &quot;A String&quot;, # The exact result count for this source.
&quot;source&quot;: { # Defines sources for the suggest/search APIs. # The source the result count information is associated with.
&quot;name&quot;: &quot;A String&quot;, # Source name for content indexed by the Indexing API.
&quot;predefinedSource&quot;: &quot;A String&quot;, # Predefined content source for Google Apps.
},
},
],
},
&quot;results&quot;: [ # Results from a search query.
{ # Results containing indexed information for a document.
&quot;clusteredResults&quot;: [ # If source is clustered, provide list of clustered results. There will only be one level of clustered results. If current source is not enabled for clustering, this field will be empty.
# Object with schema name: SearchResult
],
&quot;debugInfo&quot;: { # Debugging information about the result. # Debugging information about this search result.
&quot;formattedDebugInfo&quot;: &quot;A String&quot;, # General debug info formatted for display.
},
&quot;metadata&quot;: { # Metadata of a matched search result. # Metadata of the search result.
&quot;createTime&quot;: &quot;A String&quot;, # The creation time for this document or object in the search result.
&quot;displayOptions&quot;: { # Options that specify how to display a structured data search result.
&quot;metalines&quot;: [ # The metalines content to be displayed with the result.
{ # The collection of fields that make up a displayed line
&quot;fields&quot;: [
{ # Display Fields for Search Results
&quot;label&quot;: &quot;A String&quot;, # The display label for the property.
&quot;operatorName&quot;: &quot;A String&quot;, # The operator name of the property.
&quot;property&quot;: { # A typed name-value pair for structured data. The type of the value should be the same as the registered type for the `name` property in the object definition of `objectType`. # The name value pair for the property.
&quot;booleanValue&quot;: True or False,
&quot;dateValues&quot;: { # List of date values.
&quot;values&quot;: [
{ # Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999.
&quot;day&quot;: 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
&quot;month&quot;: 42, # Month of date. Must be from 1 to 12.
&quot;year&quot;: 42, # Year of date. Must be from 1 to 9999.
},
],
},
&quot;doubleValues&quot;: { # List of double values.
&quot;values&quot;: [
3.14,
],
},
&quot;enumValues&quot;: { # List of enum values.
&quot;values&quot;: [ # The maximum allowable length for string values is 32 characters.
&quot;A String&quot;,
],
},
&quot;htmlValues&quot;: { # List of html values.
&quot;values&quot;: [ # The maximum allowable length for html values is 2048 characters.
&quot;A String&quot;,
],
},
&quot;integerValues&quot;: { # List of integer values.
&quot;values&quot;: [
&quot;A String&quot;,
],
},
&quot;name&quot;: &quot;A String&quot;, # The name of the property. This name should correspond to the name of the property that was registered for object definition in the schema. The maximum allowable length for this property is 256 characters.
&quot;objectValues&quot;: { # List of object values.
&quot;values&quot;: [
# Object with schema name: StructuredDataObject
],
},
&quot;textValues&quot;: { # List of text values.
&quot;values&quot;: [ # The maximum allowable length for text values is 2048 characters.
&quot;A String&quot;,
],
},
&quot;timestampValues&quot;: { # List of timestamp values.
&quot;values&quot;: [
&quot;A String&quot;,
],
},
},
},
],
},
],
&quot;objectTypeLabel&quot;: &quot;A String&quot;, # The display label for the object.
},
&quot;fields&quot;: [ # Indexed fields in structured data, returned as a generic named property.
{ # A typed name-value pair for structured data. The type of the value should be the same as the registered type for the `name` property in the object definition of `objectType`.
&quot;booleanValue&quot;: True or False,
&quot;dateValues&quot;: { # List of date values.
&quot;values&quot;: [
{ # Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999.
&quot;day&quot;: 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
&quot;month&quot;: 42, # Month of date. Must be from 1 to 12.
&quot;year&quot;: 42, # Year of date. Must be from 1 to 9999.
},
],
},
&quot;doubleValues&quot;: { # List of double values.
&quot;values&quot;: [
3.14,
],
},
&quot;enumValues&quot;: { # List of enum values.
&quot;values&quot;: [ # The maximum allowable length for string values is 32 characters.
&quot;A String&quot;,
],
},
&quot;htmlValues&quot;: { # List of html values.
&quot;values&quot;: [ # The maximum allowable length for html values is 2048 characters.
&quot;A String&quot;,
],
},
&quot;integerValues&quot;: { # List of integer values.
&quot;values&quot;: [
&quot;A String&quot;,
],
},
&quot;name&quot;: &quot;A String&quot;, # The name of the property. This name should correspond to the name of the property that was registered for object definition in the schema. The maximum allowable length for this property is 256 characters.
&quot;objectValues&quot;: { # List of object values.
&quot;values&quot;: [
# Object with schema name: StructuredDataObject
],
},
&quot;textValues&quot;: { # List of text values.
&quot;values&quot;: [ # The maximum allowable length for text values is 2048 characters.
&quot;A String&quot;,
],
},
&quot;timestampValues&quot;: { # List of timestamp values.
&quot;values&quot;: [
&quot;A String&quot;,
],
},
},
],
&quot;mimeType&quot;: &quot;A String&quot;, # Mime type of the search result.
&quot;objectType&quot;: &quot;A String&quot;, # Object type of the search result.
&quot;owner&quot;: { # Object to represent a person. # Owner (usually creator) of the document or object of the search result.
&quot;emailAddresses&quot;: [ # The person&#x27;s email addresses
{ # A person&#x27;s email address.
&quot;emailAddress&quot;: &quot;A String&quot;, # The email address.
},
],
&quot;name&quot;: &quot;A String&quot;, # The resource name of the person to provide information about. See People.get from Google People API.
&quot;obfuscatedId&quot;: &quot;A String&quot;, # Obfuscated ID of a person.
&quot;personNames&quot;: [ # The person&#x27;s name
{ # A person&#x27;s name.
&quot;displayName&quot;: &quot;A String&quot;, # The read-only display name formatted according to the locale specified by the viewer&#x27;s account or the Accept-Language HTTP header.
},
],
&quot;photos&quot;: [ # A person&#x27;s read-only photo. A picture shown next to the person&#x27;s name to help others recognize the person in search results.
{ # A person&#x27;s photo.
&quot;url&quot;: &quot;A String&quot;, # The URL of the photo.
},
],
},
&quot;source&quot;: { # Defines sources for the suggest/search APIs. # The named source for the result, such as Gmail.
&quot;name&quot;: &quot;A String&quot;, # Source name for content indexed by the Indexing API.
&quot;predefinedSource&quot;: &quot;A String&quot;, # Predefined content source for Google Apps.
},
&quot;updateTime&quot;: &quot;A String&quot;, # The last modified date for the object in the search result. If not set in the item, the value returned here is empty. When `updateTime` is used for calculating freshness and is not set, this value defaults to 2 years from the current time.
},
&quot;snippet&quot;: { # Snippet of the search result, which summarizes the content of the resulting page. # The concatenation of all snippets (summaries) available for this result.
&quot;matchRanges&quot;: [ # The matched ranges in the snippet.
{ # Matched range of a snippet [start, end).
&quot;end&quot;: 42, # End of the match in the snippet.
&quot;start&quot;: 42, # Starting position of the match in the snippet.
},
],
&quot;snippet&quot;: &quot;A String&quot;, # The snippet of the document. The snippet of the document. May contain escaped HTML character that should be unescaped prior to rendering.
},
&quot;title&quot;: &quot;A String&quot;, # Title of the search result.
&quot;url&quot;: &quot;A String&quot;, # The URL of the search result. The URL contains a Google redirect to the actual item. This URL is signed and shouldn&#x27;t be changed.
},
],
&quot;spellResults&quot;: [ # Suggested spelling for the query.
{
&quot;suggestedQuery&quot;: &quot;A String&quot;, # The suggested spelling of the query.
},
],
&quot;structuredResults&quot;: [ # Structured results for the user query. These results are not counted against the page_size.
{ # Structured results that are returned as part of search request.
&quot;person&quot;: { # Object to represent a person. # Representation of a person
&quot;emailAddresses&quot;: [ # The person&#x27;s email addresses
{ # A person&#x27;s email address.
&quot;emailAddress&quot;: &quot;A String&quot;, # The email address.
},
],
&quot;name&quot;: &quot;A String&quot;, # The resource name of the person to provide information about. See People.get from Google People API.
&quot;obfuscatedId&quot;: &quot;A String&quot;, # Obfuscated ID of a person.
&quot;personNames&quot;: [ # The person&#x27;s name
{ # A person&#x27;s name.
&quot;displayName&quot;: &quot;A String&quot;, # The read-only display name formatted according to the locale specified by the viewer&#x27;s account or the Accept-Language HTTP header.
},
],
&quot;photos&quot;: [ # A person&#x27;s read-only photo. A picture shown next to the person&#x27;s name to help others recognize the person in search results.
{ # A person&#x27;s photo.
&quot;url&quot;: &quot;A String&quot;, # The URL of the photo.
},
],
},
},
],
}</pre>
</div>
<div class="method">
<code class="details" id="suggest">suggest(body=None, x__xgafv=None)</code>
<pre>Provides suggestions for autocompleting the query. **Note:** This API requires a standard end user account to execute. A service account can&#x27;t perform Query API requests directly; to use a service account to perform queries, set up [G Suite domain-wide delegation of authority](https://developers.google.com/cloud-search/docs/guides/delegation/).
Args:
body: object, The request body.
The object takes the form of:
{ # Request of suggest API.
&quot;dataSourceRestrictions&quot;: [ # The sources to use for suggestions. If not specified, the data sources are taken from the current search application. NOTE: Suggestions are only supported for the following sources: * Third-party data sources * PredefinedSource.PERSON * PredefinedSource.GOOGLE_DRIVE
{ # Restriction on Datasource.
&quot;filterOptions&quot;: [ # Filter options restricting the results. If multiple filters are present, they are grouped by object type before joining. Filters with the same object type are joined conjunctively, then the resulting expressions are joined disjunctively. The maximum number of elements is 20. NOTE: Suggest API supports only few filters at the moment: &quot;objecttype&quot;, &quot;type&quot; and &quot;mimetype&quot;. For now, schema specific filters cannot be used to filter suggestions.
{ # Filter options to be applied on query.
&quot;filter&quot;: { # A generic way of expressing filters in a query, which supports two approaches: **1. Setting a ValueFilter.** The name must match an operator_name defined in the schema for your data source. **2. Setting a CompositeFilter.** The filters are evaluated using the logical operator. The top-level operators can only be either an AND or a NOT. AND can appear only at the top-most level. OR can appear only under a top-level AND. # Generic filter to restrict the search, such as `lang:en`, `site:xyz`.
&quot;compositeFilter&quot;: {
&quot;logicOperator&quot;: &quot;A String&quot;, # The logic operator of the sub filter.
&quot;subFilters&quot;: [ # Sub filters.
# Object with schema name: Filter
],
},
&quot;valueFilter&quot;: {
&quot;operatorName&quot;: &quot;A String&quot;, # The `operator_name` applied to the query, such as *price_greater_than*. The filter can work against both types of filters defined in the schema for your data source: 1. `operator_name`, where the query filters results by the property that matches the value. 2. `greater_than_operator_name` or `less_than_operator_name` in your schema. The query filters the results for the property values that are greater than or less than the supplied value in the query.
&quot;value&quot;: { # Definition of a single value with generic type. # The value to be compared with.
&quot;booleanValue&quot;: True or False,
&quot;dateValue&quot;: { # Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999.
&quot;day&quot;: 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
&quot;month&quot;: 42, # Month of date. Must be from 1 to 12.
&quot;year&quot;: 42, # Year of date. Must be from 1 to 9999.
},
&quot;doubleValue&quot;: 3.14,
&quot;integerValue&quot;: &quot;A String&quot;,
&quot;stringValue&quot;: &quot;A String&quot;,
&quot;timestampValue&quot;: &quot;A String&quot;,
},
},
},
&quot;objectType&quot;: &quot;A String&quot;, # If object_type is set, only objects of that type are returned. This should correspond to the name of the object that was registered within the definition of schema. The maximum length is 256 characters.
},
],
&quot;source&quot;: { # Defines sources for the suggest/search APIs. # The source of restriction.
&quot;name&quot;: &quot;A String&quot;, # Source name for content indexed by the Indexing API.
&quot;predefinedSource&quot;: &quot;A String&quot;, # Predefined content source for Google Apps.
},
},
],
&quot;query&quot;: &quot;A String&quot;, # Partial query for which autocomplete suggestions will be shown. For example, if the query is &quot;sea&quot;, then the server might return &quot;season&quot;, &quot;search&quot;, &quot;seagull&quot; and so on.
&quot;requestOptions&quot;: { # Shared request options for all RPC methods. # Request options, such as the search application and user timezone.
&quot;debugOptions&quot;: { # Shared request debug options for all cloudsearch RPC methods. # Debug options of the request
&quot;enableDebugging&quot;: True or False, # If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field.
},
&quot;languageCode&quot;: &quot;A String&quot;, # The BCP-47 language code, such as &quot;en-US&quot; or &quot;sr-Latn&quot;. For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. For translations. Set this field using the language set in browser or for the page. In the event that the user&#x27;s language preference is known, set this field to the known user language. When specified, the documents in search results are biased towards the specified language. The suggest API does not use this parameter. Instead, suggest autocompletes only based on characters in the query.
&quot;searchApplicationId&quot;: &quot;A String&quot;, # The ID generated when you create a search application using the [admin console](https://support.google.com/a/answer/9043922).
&quot;timeZone&quot;: &quot;A String&quot;, # Current user&#x27;s time zone id, such as &quot;America/Los_Angeles&quot; or &quot;Australia/Sydney&quot;. These IDs are defined by [Unicode Common Locale Data Repository (CLDR)](http://cldr.unicode.org/) project, and currently available in the file [timezone.xml](http://unicode.org/repos/cldr/trunk/common/bcp47/timezone.xml). This field is used to correctly interpret date and time queries. If this field is not specified, the default time zone (UTC) is used.
},
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Response of the suggest API.
&quot;suggestResults&quot;: [ # List of suggestions.
{ # One suggestion result.
&quot;peopleSuggestion&quot;: { # This field contains information about the person being suggested. # This is present when the suggestion indicates a person. It contains more information about the person - like their email ID, name etc.
&quot;person&quot;: { # Object to represent a person. # Suggested person. All fields of the person object might not be populated.
&quot;emailAddresses&quot;: [ # The person&#x27;s email addresses
{ # A person&#x27;s email address.
&quot;emailAddress&quot;: &quot;A String&quot;, # The email address.
},
],
&quot;name&quot;: &quot;A String&quot;, # The resource name of the person to provide information about. See People.get from Google People API.
&quot;obfuscatedId&quot;: &quot;A String&quot;, # Obfuscated ID of a person.
&quot;personNames&quot;: [ # The person&#x27;s name
{ # A person&#x27;s name.
&quot;displayName&quot;: &quot;A String&quot;, # The read-only display name formatted according to the locale specified by the viewer&#x27;s account or the Accept-Language HTTP header.
},
],
&quot;photos&quot;: [ # A person&#x27;s read-only photo. A picture shown next to the person&#x27;s name to help others recognize the person in search results.
{ # A person&#x27;s photo.
&quot;url&quot;: &quot;A String&quot;, # The URL of the photo.
},
],
},
},
&quot;querySuggestion&quot;: { # This field does not contain anything as of now and is just used as an indicator that the suggest result was a phrase completion. # This field will be present if the suggested query is a word/phrase completion.
},
&quot;source&quot;: { # Defines sources for the suggest/search APIs. # The source of the suggestion.
&quot;name&quot;: &quot;A String&quot;, # Source name for content indexed by the Indexing API.
&quot;predefinedSource&quot;: &quot;A String&quot;, # Predefined content source for Google Apps.
},
&quot;suggestedQuery&quot;: &quot;A String&quot;, # The suggested query that will be used for search, when the user clicks on the suggestion
},
],
}</pre>
</div>
</body></html>