Cloud Search API . query

Instance Methods

sources()

Returns the sources Resource.

search(body, x__xgafv=None)

The Cloud Search Query API provides the search method, which returns

suggest(body, x__xgafv=None)

Provides suggestions for autocompleting the query.

Method Details

search(body, x__xgafv=None)
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.

Args:
  body: object, The request body. (required)
    The object takes the form of:

{ # The search API request.
    "facetOptions": [
      { # Specifies operators to return facet results for. There will be one
          # FacetResult for every source_name/object_type/operator_name combination.
        "sourceName": "A String", # Source name to facet on. Format: datasources/{source_id}
            # If empty, all data sources will be used.
        "numFacetBuckets": 42, # Maximum number of facet buckets that should be returned for this facet.
            # Defaults to 10.
            # Maximum value is 100.
        "operatorName": "A String", # Name of the operator chosen for faceting. @see
            # cloudsearch.SchemaPropertyOptions
        "objectType": "A String", # 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.
      },
    ],
    "pageSize": 42, # Maximum number of search results to return in one page.
        # Valid values are between 1 and 100, inclusive.
        # Default value is 10.
    "queryInterpretationOptions": { # Options to interpret user query. # Options to interpret the user query.
      "disableNlInterpretation": 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.
    },
    "sortOptions": { # The options for sorting the search results
      "operatorName": "A String", # Name of the operator corresponding to the field to sort on.
          # The corresponding property must be marked as
          # sortable.
      "sortOrder": "A String", # Ascending is the default sort order
    },
    "dataSourceRestrictions": [ # The sources to use for querying. If not specified, all data sources
        # from the current search application are used.
      { # Restriction on Datasource.
        "filterOptions": [ # 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:
            #   "objecttype", "type" and "mimetype".
            # For now, schema specific filters cannot be used to filter suggestions.
          { # Filter options to be applied on query.
            "filter": { # A generic way of expressing filters in a query, which supports two # Generic filter to restrict the search, such as `lang:en`, `site:xyz`.
                # 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. "compositeFilter": { "subFilters": [ # Sub filters. # Object with schema name: Filter ], "logicOperator": "A String", # The logic operator of the sub filter. }, "valueFilter": { "operatorName": "A String", # 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. "value": { # Definition of a single value with generic type. # The value to be compared with. "timestampValue": "A String", "doubleValue": 3.14, "dateValue": { # 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. "month": 42, # Month of date. Must be from 1 to 12. "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month. "year": 42, # Year of date. Must be from 1 to 9999. }, "stringValue": "A String", "booleanValue": True or False, "integerValue": "A String", }, }, }, "objectType": "A String", # 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. }, ], "source": { # Defines sources for the suggest/search APIs. # The source of restriction. "predefinedSource": "A String", # Predefined content source for Google Apps. "name": "A String", # Source name for content indexed by the # Indexing API. }, }, ], "start": 42, # Starting index of the results. "query": "A String", # The raw query string. # See supported search operators in the [Cloud search # Cheat # Sheet](https://gsuite.google.com/learning-center/products/cloudsearch/cheat-sheet/) "requestOptions": { # Shared request options for all RPC methods. # Request options, such as the search application and user timezone. "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". # For more information, see # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. # For translations. # # When specified, the documents in search results are biased towards the # specified language. # Suggest API does not use this parameter. It autocompletes only based on # characters in the query. "debugOptions": { # Shared request debug options for all cloudsearch RPC methods. # Debug options of the request "enableDebugging": True or False, # If you are asked by Google to help with debugging, set this field. # Otherwise, ignore this field. }, "searchApplicationId": "A String", # Id of the application created using SearchApplicationsService. "timeZone": "A String", # Current user's time zone id, such as "America/Los_Angeles" or # "Australia/Sydney". 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) }, } 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. "structuredResults": [ # 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. "person": { # Object to represent a person. # Representation of a person "photos": [ # A person's read-only photo. A picture shown next to the person's name to # help others recognize the person in search results. { # A person's photo. "url": "A String", # The URL of the photo. }, ], "emailAddresses": [ # The person's email addresses { # A person's email address. "emailAddress": "A String", # The email address. }, ], "name": "A String", # The resource name of the person to provide information about. # See # People.get from Google People API. "personNames": [ # The person's name { # A person's name. "displayName": "A String", # The read-only display name formatted according to the locale specified by # the viewer's account or the Accept-Language HTTP header. }, ], "obfuscatedId": "A String", # Obfuscated ID of a person. }, }, ], "queryInterpretation": { # Query interpretation result for user query. Empty if query interpretation # is disabled. "interpretationType": "A String", "interpretedQuery": "A String", # The interpretation of the query used in search. For example, query "email # from john" will be interpreted as "from:john source:mail" }, "debugInfo": { # Debugging information about the response. # Debugging information about the response. "formattedDebugInfo": "A String", # General debug info formatted for display. }, "spellResults": [ # Suggested spelling for the query. { "suggestedQuery": "A String", # The suggested spelling of the query. }, ], "results": [ # Results from a search query. { # Results containing indexed information for a document. "title": "A String", # Title of the search result. "debugInfo": { # Debugging information about the result. # Debugging information about this search result. "formattedDebugInfo": "A String", # General debug info formatted for display. }, "snippet": { # Snippet of the search result, which summarizes the content of the resulting # The concatenation of all snippets (summaries) available for this result. # page. "snippet": "A String", # The snippet of the document. # The snippet of the document. May contain escaped HTML character that # should be unescaped prior to rendering. "matchRanges": [ # The matched ranges in the snippet. { # Matched range of a snippet [start, end). "start": 42, # Starting position of the match in the snippet. "end": 42, # End of the match in the snippet. }, ], }, "url": "A String", # The URL of the search result. The URL contains a Google redirect to the # actual item. This URL is signed and shouldn't be changed. "clusteredResults": [ # 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 ], "metadata": { # Metadata of a matched search result. # Metadata of the search result. "mimeType": "A String", # Mime type of the search result. "updateTime": "A String", # 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. "fields": [ # 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`. "objectValues": { # List of object values. "values": [ # Object with schema name: StructuredDataObject ], }, "dateValues": { # List of date values. "values": [ { # 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. "month": 42, # Month of date. Must be from 1 to 12. "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month. "year": 42, # Year of date. Must be from 1 to 9999. }, ], }, "textValues": { # List of text values. "values": [ # The maximum allowable length for text values is 2048 characters. "A String", ], }, "enumValues": { # List of enum values. "values": [ # The maximum allowable length for string values is 32 characters. "A String", ], }, "integerValues": { # List of integer values. "values": [ "A String", ], }, "doubleValues": { # List of double values. "values": [ 3.14, ], }, "htmlValues": { # List of html values. "values": [ # The maximum allowable length for html values is 2048 characters. "A String", ], }, "booleanValue": True or False, "timestampValues": { # List of timestamp values. "values": [ "A String", ], }, "name": "A String", # 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. }, ], "source": { # Defines sources for the suggest/search APIs. # The named source for the result, such as Gmail. "predefinedSource": "A String", # Predefined content source for Google Apps. "name": "A String", # Source name for content indexed by the # Indexing API. }, "owner": { # Object to represent a person. # Owner (usually creator) of the document or object of the search result. "photos": [ # A person's read-only photo. A picture shown next to the person's name to # help others recognize the person in search results. { # A person's photo. "url": "A String", # The URL of the photo. }, ], "emailAddresses": [ # The person's email addresses { # A person's email address. "emailAddress": "A String", # The email address. }, ], "name": "A String", # The resource name of the person to provide information about. # See # People.get from Google People API. "personNames": [ # The person's name { # A person's name. "displayName": "A String", # The read-only display name formatted according to the locale specified by # the viewer's account or the Accept-Language HTTP header. }, ], "obfuscatedId": "A String", # Obfuscated ID of a person. }, "createTime": "A String", # The creation time for this document or object in the search result. "displayOptions": { # Options that specify how to display a structured data search result. "objectTypeLabel": "A String", # The display label for the object. "metalines": [ # The metalines content to be displayed with the result. { # The collection of fields that make up a displayed line "fields": [ { # Display Fields for Search Results "property": { # A typed name-value pair for structured data. The type of the value should # The name value pair for the property. # be the same as the registered type for the `name` property in the object # definition of `objectType`. "objectValues": { # List of object values. "values": [ # Object with schema name: StructuredDataObject ], }, "dateValues": { # List of date values. "values": [ { # 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. "month": 42, # Month of date. Must be from 1 to 12. "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month. "year": 42, # Year of date. Must be from 1 to 9999. }, ], }, "textValues": { # List of text values. "values": [ # The maximum allowable length for text values is 2048 characters. "A String", ], }, "enumValues": { # List of enum values. "values": [ # The maximum allowable length for string values is 32 characters. "A String", ], }, "integerValues": { # List of integer values. "values": [ "A String", ], }, "doubleValues": { # List of double values. "values": [ 3.14, ], }, "htmlValues": { # List of html values. "values": [ # The maximum allowable length for html values is 2048 characters. "A String", ], }, "booleanValue": True or False, "timestampValues": { # List of timestamp values. "values": [ "A String", ], }, "name": "A String", # 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. }, "operatorName": "A String", # The operator name of the property. "label": "A String", # The display label for the property. }, ], }, ], }, "objectType": "A String", # Object type of the search result. }, }, ], "resultCounts": { # Result count information # Expanded result count information. "sourceResultCounts": [ # Result count information for each source with results. { # Per source result count information. "source": { # Defines sources for the suggest/search APIs. # The source the result count information is associated with. "predefinedSource": "A String", # Predefined content source for Google Apps. "name": "A String", # Source name for content indexed by the # Indexing API. }, "resultCountExact": "A String", # The exact result count for this source. "hasMoreResults": True or False, # Whether there are more search results for this source. "resultCountEstimate": "A String", # The estimated result count for this source. }, ], }, "resultCountEstimate": "A String", # The estimated result count for this query. "resultCountExact": "A String", # The exact result count for this query. "facetResults": [ # Repeated facet results. { # Source specific facet response "sourceName": "A String", # Source name for which facet results are returned. Will not be empty. "buckets": [ # 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. "count": 42, # Number of results that match the bucket value. Counts are only returned # for searches when count accuracy is ensured. Can be empty. "percentage": 42, # Percent of results that match the bucket value. This value is between # (0-100]. Percentages are returned for all searches, but are an estimate. # Because percentages are always returned, you should render percentages # instead of counts. "value": { # Definition of a single value with generic type. "timestampValue": "A String", "doubleValue": 3.14, "dateValue": { # 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. "month": 42, # Month of date. Must be from 1 to 12. "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month. "year": 42, # Year of date. Must be from 1 to 9999. }, "stringValue": "A String", "booleanValue": True or False, "integerValue": "A String", }, }, ], "operatorName": "A String", # Name of the operator chosen for faceting. @see # cloudsearch.SchemaPropertyOptions "objectType": "A String", # Object type for which facet results are returned. Can be empty. }, ], "errorInfo": { # Error information about the response. # Error information about the response. "errorMessages": [ { # Error message per source response. "source": { # Defines sources for the suggest/search APIs. "predefinedSource": "A String", # Predefined content source for Google Apps. "name": "A String", # Source name for content indexed by the # Indexing API. }, "errorMessage": "A String", }, ], }, "hasMoreResults": True or False, # Whether there are more search results matching the query. }
suggest(body, x__xgafv=None)
Provides suggestions for autocompleting the query.

Args:
  body: object, The request body. (required)
    The object takes the form of:

{ # Request of suggest API.
    "dataSourceRestrictions": [ # The sources to use for suggestions. If not specified, all data sources
        # from the current search application are used.
        # Suggestions are based on Gmail titles. Suggestions from third party sources
        # are not available.
      { # Restriction on Datasource.
        "filterOptions": [ # 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:
            #   "objecttype", "type" and "mimetype".
            # For now, schema specific filters cannot be used to filter suggestions.
          { # Filter options to be applied on query.
            "filter": { # A generic way of expressing filters in a query, which supports two # Generic filter to restrict the search, such as `lang:en`, `site:xyz`.
                # 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. "compositeFilter": { "subFilters": [ # Sub filters. # Object with schema name: Filter ], "logicOperator": "A String", # The logic operator of the sub filter. }, "valueFilter": { "operatorName": "A String", # 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. "value": { # Definition of a single value with generic type. # The value to be compared with. "timestampValue": "A String", "doubleValue": 3.14, "dateValue": { # 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. "month": 42, # Month of date. Must be from 1 to 12. "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month. "year": 42, # Year of date. Must be from 1 to 9999. }, "stringValue": "A String", "booleanValue": True or False, "integerValue": "A String", }, }, }, "objectType": "A String", # 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. }, ], "source": { # Defines sources for the suggest/search APIs. # The source of restriction. "predefinedSource": "A String", # Predefined content source for Google Apps. "name": "A String", # Source name for content indexed by the # Indexing API. }, }, ], "query": "A String", # Partial query for which autocomplete suggestions will be shown. # For example, if the query is "sea", then the server might return # "season", "search", "seagull" and so on. "requestOptions": { # Shared request options for all RPC methods. # Request options, such as the search application and user timezone. "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". # For more information, see # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. # For translations. # # When specified, the documents in search results are biased towards the # specified language. # Suggest API does not use this parameter. It autocompletes only based on # characters in the query. "debugOptions": { # Shared request debug options for all cloudsearch RPC methods. # Debug options of the request "enableDebugging": True or False, # If you are asked by Google to help with debugging, set this field. # Otherwise, ignore this field. }, "searchApplicationId": "A String", # Id of the application created using SearchApplicationsService. "timeZone": "A String", # Current user's time zone id, such as "America/Los_Angeles" or # "Australia/Sydney". 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) }, } 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. "suggestResults": [ # List of suggestions. { # One suggestion result. "source": { # Defines sources for the suggest/search APIs. # The source of the suggestion. "predefinedSource": "A String", # Predefined content source for Google Apps. "name": "A String", # Source name for content indexed by the # Indexing API. }, "peopleSuggestion": { # 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. "person": { # Object to represent a person. # Suggested person. All fields of the person object might not be populated. "photos": [ # A person's read-only photo. A picture shown next to the person's name to # help others recognize the person in search results. { # A person's photo. "url": "A String", # The URL of the photo. }, ], "emailAddresses": [ # The person's email addresses { # A person's email address. "emailAddress": "A String", # The email address. }, ], "name": "A String", # The resource name of the person to provide information about. # See # People.get from Google People API. "personNames": [ # The person's name { # A person's name. "displayName": "A String", # The read-only display name formatted according to the locale specified by # the viewer's account or the Accept-Language HTTP header. }, ], "obfuscatedId": "A String", # Obfuscated ID of a person. }, }, "suggestedQuery": "A String", # The suggested query that will be used for search, when the user # clicks on the suggestion "querySuggestion": { # This field does not contain anything as of now and is just used as an # This field will be present if the suggested query is a word/phrase # completion. # indicator that the suggest result was a phrase completion. }, }, ], }