# Cloud Search API . settings . searchapplications

## Instance Methods

Creates a search application.

Deletes a search application.

Gets the specified search application.

Lists all search applications.

Retrieves the next page of results.

Resets a search application to default settings. This will return an empty

Updates a search application.

### Method Details

`create(body, x__xgafv=None)`

    Creates a search application.

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

    { # SearchApplication
      "dataSourceRestrictions": [ # Retrictions applied to the configurations.
          # The maximum number of elements is 10.
        { # 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.
          },
        },
      ],
      "operationIds": [ # IDs of the Long Running Operations (LROs) currently running for this
          # schema. Output only field.
        "A String",
      ],
      "displayName": "A String", # Display name of the Search Application.
          # The maximum length is 300 characters.
      "name": "A String", # Name of the Search Application.
          #
    Format: searchapplications/{application_id}.
      "sourceConfig": [ # Configuration for a sources specified in data_source_restrictions.
        { # Configurations for a source while processing a
            # Search or
            # Suggest request.
          "scoringConfig": { # Set the scoring configuration. This allows modifying the ranking of results # The scoring configuration for the source.
              # for a source.
            "sourceImportance": "A String", # Importance of the source.
          },
          "crowdingConfig": { # Set search results crowding limits. Crowding is a situation in which # The crowding configuration for the source.
              # multiple results from the same source or host "crowd out" other results,
              # diminishing the quality of search for users. To foster better search quality
              # and source diversity in search results, you can set a condition to reduce
              # repetitive results by source.
            "numResults": 42, # Maximum number of results allowed from a source.
                # No limits will be set on results if this value is less than or equal to 0.
            "field": "A String", # Use a field to control results crowding. For example, if you want to
                # control overly similar results from Gmail topics, use `thread_id`.
                # For similar pages from Google Sites, you can use `webspace_id`.
                # When matching query results contain the same field value in
                # `GenericMetadata`, crowding limits are set on those records.
            "numSuggestions": 42, # Maximum number of suggestions allowed from a source.
                # No limits will be set on results if this value is less than or equal to 0.
            "source": True or False, # Control results by content source. This option limits the total number
                # of results from a given source and ignores field-based crowding control.
          },
          "source": { # Defines sources for the suggest/search APIs. # The source for which this configuration is to be used.
            "predefinedSource": "A String", # Predefined content source for Google Apps.
            "name": "A String", # Source name for content indexed by the
                # Indexing API.
          },
        },
      ],
      "scoringConfig": { # Scoring configurations for a source while processing a # Configuration for ranking results.
          # Search or
          # Suggest request.
        "disableFreshness": True or False, # Whether to use freshness as a ranking signal. By default, freshness is used
            # as a ranking signal. Note that this setting is not available in the Admin
            # UI.
        "disablePersonalization": True or False, # Whether to personalize the results. By default, personal signals will
            # be used to boost results.
      },
      "defaultSortOptions": { # The default 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
      },
      "defaultFacetOptions": [ # The default fields for returning facet results.
          # The sources specified here also have been included in
          # data_source_restrictions
          # above.
        { # 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.
        },
      ],
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a
          # network API call.
        "metadata": { # Service-specific metadata associated with the operation.  It typically
            # contains progress information and common metadata such as create time.
            # Some services might not provide such metadata.  Any method that returns a
            # long-running operation should document the metadata type, if any.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
            # different programming environments, including REST APIs and RPC APIs. It is
            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
            # three pieces of data: error code, error message, and error details.
            #
            # You can find out more about this error model and how to work with it in the
            # [API Design Guide](https://cloud.google.com/apis/design/errors).
          "message": "A String", # A developer-facing error message, which should be in English. Any
              # user-facing error message should be localized and sent in the
              # google.rpc.Status.details field, or localized by the client.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details.  There is a common set of
              # message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
        },
        "done": True or False, # If the value is `false`, it means the operation is still in progress.
            # If `true`, the operation is completed, and either `error` or `response` is
            # available.
        "response": { # The normal response of the operation in case of success.  If the original
            # method returns no data on success, such as `Delete`, the response is
            # `google.protobuf.Empty`.  If the original method is standard
            # `Get`/`Create`/`Update`, the response should be the resource.  For other
            # methods, the response should have the type `XxxResponse`, where `Xxx`
            # is the original method name.  For example, if the original method name
            # is `TakeSnapshot()`, the inferred response type is
            # `TakeSnapshotResponse`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "name": "A String", # The server-assigned name, which is only unique within the same service that
            # originally returns it. If you use the default HTTP mapping, the
            # `name` should be a resource name ending with `operations/{unique_id}`.
      }

`delete(name, debugOptions_enableDebugging=None, x__xgafv=None)`

    Deletes a search application.

    Args:
      name: string, The name of the search application to be deleted.

    Format: applications/{application_id}. (required)
      debugOptions_enableDebugging: boolean, If you are asked by Google to help with debugging, set this field.
    Otherwise, ignore this field.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a
          # network API call.
        "metadata": { # Service-specific metadata associated with the operation.  It typically
            # contains progress information and common metadata such as create time.
            # Some services might not provide such metadata.  Any method that returns a
            # long-running operation should document the metadata type, if any.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
            # different programming environments, including REST APIs and RPC APIs. It is
            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
            # three pieces of data: error code, error message, and error details.
            #
            # You can find out more about this error model and how to work with it in the
            # [API Design Guide](https://cloud.google.com/apis/design/errors).
          "message": "A String", # A developer-facing error message, which should be in English. Any
              # user-facing error message should be localized and sent in the
              # google.rpc.Status.details field, or localized by the client.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details.  There is a common set of
              # message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
        },
        "done": True or False, # If the value is `false`, it means the operation is still in progress.
            # If `true`, the operation is completed, and either `error` or `response` is
            # available.
        "response": { # The normal response of the operation in case of success.  If the original
            # method returns no data on success, such as `Delete`, the response is
            # `google.protobuf.Empty`.  If the original method is standard
            # `Get`/`Create`/`Update`, the response should be the resource.  For other
            # methods, the response should have the type `XxxResponse`, where `Xxx`
            # is the original method name.  For example, if the original method name
            # is `TakeSnapshot()`, the inferred response type is
            # `TakeSnapshotResponse`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "name": "A String", # The server-assigned name, which is only unique within the same service that
            # originally returns it. If you use the default HTTP mapping, the
            # `name` should be a resource name ending with `operations/{unique_id}`.
      }

`get(name, debugOptions_enableDebugging=None, x__xgafv=None)`

    Gets the specified search application.

    Args:
      name: string, Name of the search application.

    Format: applications/{application_id}. (required)
      debugOptions_enableDebugging: boolean, If you are asked by Google to help with debugging, set this field.
    Otherwise, ignore this field.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # SearchApplication
        "dataSourceRestrictions": [ # Retrictions applied to the configurations.
            # The maximum number of elements is 10.
          { # 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.
            },
          },
        ],
        "operationIds": [ # IDs of the Long Running Operations (LROs) currently running for this
            # schema. Output only field.
          "A String",
        ],
        "displayName": "A String", # Display name of the Search Application.
            # The maximum length is 300 characters.
        "name": "A String", # Name of the Search Application.
            #
    Format: searchapplications/{application_id}.
        "sourceConfig": [ # Configuration for a sources specified in data_source_restrictions.
          { # Configurations for a source while processing a
              # Search or
              # Suggest request.
            "scoringConfig": { # Set the scoring configuration. This allows modifying the ranking of results # The scoring configuration for the source.
                # for a source.
              "sourceImportance": "A String", # Importance of the source.
            },
            "crowdingConfig": { # Set search results crowding limits. Crowding is a situation in which # The crowding configuration for the source.
                # multiple results from the same source or host "crowd out" other results,
                # diminishing the quality of search for users. To foster better search quality
                # and source diversity in search results, you can set a condition to reduce
                # repetitive results by source.
              "numResults": 42, # Maximum number of results allowed from a source.
                  # No limits will be set on results if this value is less than or equal to 0.
              "field": "A String", # Use a field to control results crowding. For example, if you want to
                  # control overly similar results from Gmail topics, use `thread_id`.
                  # For similar pages from Google Sites, you can use `webspace_id`.
                  # When matching query results contain the same field value in
                  # `GenericMetadata`, crowding limits are set on those records.
              "numSuggestions": 42, # Maximum number of suggestions allowed from a source.
                  # No limits will be set on results if this value is less than or equal to 0.
              "source": True or False, # Control results by content source. This option limits the total number
                  # of results from a given source and ignores field-based crowding control.
            },
            "source": { # Defines sources for the suggest/search APIs. # The source for which this configuration is to be used.
              "predefinedSource": "A String", # Predefined content source for Google Apps.
              "name": "A String", # Source name for content indexed by the
                  # Indexing API.
            },
          },
        ],
        "scoringConfig": { # Scoring configurations for a source while processing a # Configuration for ranking results.
            # Search or
            # Suggest request.
          "disableFreshness": True or False, # Whether to use freshness as a ranking signal. By default, freshness is used
              # as a ranking signal. Note that this setting is not available in the Admin
              # UI.
          "disablePersonalization": True or False, # Whether to personalize the results. By default, personal signals will
              # be used to boost results.
        },
        "defaultSortOptions": { # The default 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
        },
        "defaultFacetOptions": [ # The default fields for returning facet results.
            # The sources specified here also have been included in
            # data_source_restrictions
            # above.
          { # 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.
          },
        ],
      }

`list(pageSize=None, debugOptions_enableDebugging=None, pageToken=None, x__xgafv=None)`

    Lists all search applications.

    Args:
      pageSize: integer, The maximum number of items to return.
      debugOptions_enableDebugging: boolean, If you are asked by Google to help with debugging, set this field.
    Otherwise, ignore this field.
      pageToken: string, The next_page_token value returned from a previous List request, if any.

     The default value is 10
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        {
        "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no
            # more results in the list.
        "searchApplications": [
          { # SearchApplication
            "dataSourceRestrictions": [ # Retrictions applied to the configurations.
                # The maximum number of elements is 10.
              { # 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.
                },
              },
            ],
            "operationIds": [ # IDs of the Long Running Operations (LROs) currently running for this
                # schema. Output only field.
              "A String",
            ],
            "displayName": "A String", # Display name of the Search Application.
                # The maximum length is 300 characters.
            "name": "A String", # Name of the Search Application.
                #
    Format: searchapplications/{application_id}.
            "sourceConfig": [ # Configuration for a sources specified in data_source_restrictions.
              { # Configurations for a source while processing a
                  # Search or
                  # Suggest request.
                "scoringConfig": { # Set the scoring configuration. This allows modifying the ranking of results # The scoring configuration for the source.
                    # for a source.
                  "sourceImportance": "A String", # Importance of the source.
                },
                "crowdingConfig": { # Set search results crowding limits. Crowding is a situation in which # The crowding configuration for the source.
                    # multiple results from the same source or host "crowd out" other results,
                    # diminishing the quality of search for users. To foster better search quality
                    # and source diversity in search results, you can set a condition to reduce
                    # repetitive results by source.
                  "numResults": 42, # Maximum number of results allowed from a source.
                      # No limits will be set on results if this value is less than or equal to 0.
                  "field": "A String", # Use a field to control results crowding. For example, if you want to
                      # control overly similar results from Gmail topics, use `thread_id`.
                      # For similar pages from Google Sites, you can use `webspace_id`.
                      # When matching query results contain the same field value in
                      # `GenericMetadata`, crowding limits are set on those records.
                  "numSuggestions": 42, # Maximum number of suggestions allowed from a source.
                      # No limits will be set on results if this value is less than or equal to 0.
                  "source": True or False, # Control results by content source. This option limits the total number
                      # of results from a given source and ignores field-based crowding control.
                },
                "source": { # Defines sources for the suggest/search APIs. # The source for which this configuration is to be used.
                  "predefinedSource": "A String", # Predefined content source for Google Apps.
                  "name": "A String", # Source name for content indexed by the
                      # Indexing API.
                },
              },
            ],
            "scoringConfig": { # Scoring configurations for a source while processing a # Configuration for ranking results.
                # Search or
                # Suggest request.
              "disableFreshness": True or False, # Whether to use freshness as a ranking signal. By default, freshness is used
                  # as a ranking signal. Note that this setting is not available in the Admin
                  # UI.
              "disablePersonalization": True or False, # Whether to personalize the results. By default, personal signals will
                  # be used to boost results.
            },
            "defaultSortOptions": { # The default 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
            },
            "defaultFacetOptions": [ # The default fields for returning facet results.
                # The sources specified here also have been included in
                # data_source_restrictions
                # above.
              { # 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.
              },
            ],
          },
        ],
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`reset(name, body, x__xgafv=None)`

    Resets a search application to default settings. This will return an empty
    response.

    Args:
      name: string, The name of the search application to be reset.

    Format: applications/{application_id}. (required)
      body: object, The request body. (required)
        The object takes the form of:

    {
        "debugOptions": { # Shared request debug options for all cloudsearch RPC methods. # Common debug options.
          "enableDebugging": True or False, # If you are asked by Google to help with debugging, set this field.
              # Otherwise, ignore this field.
        },
      }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a
          # network API call.
        "metadata": { # Service-specific metadata associated with the operation.  It typically
            # contains progress information and common metadata such as create time.
            # Some services might not provide such metadata.  Any method that returns a
            # long-running operation should document the metadata type, if any.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
            # different programming environments, including REST APIs and RPC APIs. It is
            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
            # three pieces of data: error code, error message, and error details.
            #
            # You can find out more about this error model and how to work with it in the
            # [API Design Guide](https://cloud.google.com/apis/design/errors).
          "message": "A String", # A developer-facing error message, which should be in English. Any
              # user-facing error message should be localized and sent in the
              # google.rpc.Status.details field, or localized by the client.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details.  There is a common set of
              # message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
        },
        "done": True or False, # If the value is `false`, it means the operation is still in progress.
            # If `true`, the operation is completed, and either `error` or `response` is
            # available.
        "response": { # The normal response of the operation in case of success.  If the original
            # method returns no data on success, such as `Delete`, the response is
            # `google.protobuf.Empty`.  If the original method is standard
            # `Get`/`Create`/`Update`, the response should be the resource.  For other
            # methods, the response should have the type `XxxResponse`, where `Xxx`
            # is the original method name.  For example, if the original method name
            # is `TakeSnapshot()`, the inferred response type is
            # `TakeSnapshotResponse`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "name": "A String", # The server-assigned name, which is only unique within the same service that
            # originally returns it. If you use the default HTTP mapping, the
            # `name` should be a resource name ending with `operations/{unique_id}`.
      }

`update(name, body, x__xgafv=None)`

    Updates a search application.

    Args:
      name: string, Name of the Search Application.

    Format: searchapplications/{application_id}. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # SearchApplication
      "dataSourceRestrictions": [ # Retrictions applied to the configurations.
          # The maximum number of elements is 10.
        { # 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.
          },
        },
      ],
      "operationIds": [ # IDs of the Long Running Operations (LROs) currently running for this
          # schema. Output only field.
        "A String",
      ],
      "displayName": "A String", # Display name of the Search Application.
          # The maximum length is 300 characters.
      "name": "A String", # Name of the Search Application.
          #
    Format: searchapplications/{application_id}.
      "sourceConfig": [ # Configuration for a sources specified in data_source_restrictions.
        { # Configurations for a source while processing a
            # Search or
            # Suggest request.
          "scoringConfig": { # Set the scoring configuration. This allows modifying the ranking of results # The scoring configuration for the source.
              # for a source.
            "sourceImportance": "A String", # Importance of the source.
          },
          "crowdingConfig": { # Set search results crowding limits. Crowding is a situation in which # The crowding configuration for the source.
              # multiple results from the same source or host "crowd out" other results,
              # diminishing the quality of search for users. To foster better search quality
              # and source diversity in search results, you can set a condition to reduce
              # repetitive results by source.
            "numResults": 42, # Maximum number of results allowed from a source.
                # No limits will be set on results if this value is less than or equal to 0.
            "field": "A String", # Use a field to control results crowding. For example, if you want to
                # control overly similar results from Gmail topics, use `thread_id`.
                # For similar pages from Google Sites, you can use `webspace_id`.
                # When matching query results contain the same field value in
                # `GenericMetadata`, crowding limits are set on those records.
            "numSuggestions": 42, # Maximum number of suggestions allowed from a source.
                # No limits will be set on results if this value is less than or equal to 0.
            "source": True or False, # Control results by content source. This option limits the total number
                # of results from a given source and ignores field-based crowding control.
          },
          "source": { # Defines sources for the suggest/search APIs. # The source for which this configuration is to be used.
            "predefinedSource": "A String", # Predefined content source for Google Apps.
            "name": "A String", # Source name for content indexed by the
                # Indexing API.
          },
        },
      ],
      "scoringConfig": { # Scoring configurations for a source while processing a # Configuration for ranking results.
          # Search or
          # Suggest request.
        "disableFreshness": True or False, # Whether to use freshness as a ranking signal. By default, freshness is used
            # as a ranking signal. Note that this setting is not available in the Admin
            # UI.
        "disablePersonalization": True or False, # Whether to personalize the results. By default, personal signals will
            # be used to boost results.
      },
      "defaultSortOptions": { # The default 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
      },
      "defaultFacetOptions": [ # The default fields for returning facet results.
          # The sources specified here also have been included in
          # data_source_restrictions
          # above.
        { # 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.
        },
      ],
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a
          # network API call.
        "metadata": { # Service-specific metadata associated with the operation.  It typically
            # contains progress information and common metadata such as create time.
            # Some services might not provide such metadata.  Any method that returns a
            # long-running operation should document the metadata type, if any.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
            # different programming environments, including REST APIs and RPC APIs. It is
            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
            # three pieces of data: error code, error message, and error details.
            #
            # You can find out more about this error model and how to work with it in the
            # [API Design Guide](https://cloud.google.com/apis/design/errors).
          "message": "A String", # A developer-facing error message, which should be in English. Any
              # user-facing error message should be localized and sent in the
              # google.rpc.Status.details field, or localized by the client.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details.  There is a common set of
              # message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
        },
        "done": True or False, # If the value is `false`, it means the operation is still in progress.
            # If `true`, the operation is completed, and either `error` or `response` is
            # available.
        "response": { # The normal response of the operation in case of success.  If the original
            # method returns no data on success, such as `Delete`, the response is
            # `google.protobuf.Empty`.  If the original method is standard
            # `Get`/`Create`/`Update`, the response should be the resource.  For other
            # methods, the response should have the type `XxxResponse`, where `Xxx`
            # is the original method name.  For example, if the original method name
            # is `TakeSnapshot()`, the inferred response type is
            # `TakeSnapshotResponse`.
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
        "name": "A String", # The server-assigned name, which is only unique within the same service that
            # originally returns it. If you use the default HTTP mapping, the
            # `name` should be a resource name ending with `operations/{unique_id}`.
      }