# Cloud Search API . settings . searchapplications

## Instance Methods

Close httplib2 connections.

Creates a search application. **Note:** This API requires an admin account to execute.

Deletes a search application. **Note:** This API requires an admin account to execute.

Gets the specified search application. **Note:** This API requires an admin account to execute.

Lists all search applications. **Note:** This API requires an admin account to execute.

Retrieves the next page of results.

Updates a search application. **Note:** This API requires an admin account to execute.

Resets a search application to default settings. This will return an empty response. **Note:** This API requires an admin account to execute.

Updates a search application. **Note:** This API requires an admin account to execute.

### Method Details

`close()`

    Close httplib2 connections.

`create(body=None, x__xgafv=None)`

    Creates a search application. **Note:** This API requires an admin account to execute.

    Args:
      body: object, The request body.
        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 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`.
                "compositeFilter": {
                  "logicOperator": "A String", # The logic operator of the sub filter.
                  "subFilters": [ # Sub filters.
                    # Object with schema name: 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.
                    "booleanValue": True or False,
                    "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.
                      "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
                      "month": 42, # Month of date. Must be from 1 to 12.
                      "year": 42, # Year of date. Must be from 1 to 9999.
                    },
                    "doubleValue": 3.14,
                    "integerValue": "A String",
                    "stringValue": "A String",
                    "timestampValue": "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.
            "name": "A String", # Source name for content indexed by the Indexing API.
            "predefinedSource": "A String", # Predefined content source for Google Apps.
          },
        },
      ],
      "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.
          "numFacetBuckets": 42, # Maximum number of facet buckets that should be returned for this facet. Defaults to 10. Maximum value is 100.
          "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.
          "operatorName": "A String", # The name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions
          "sourceName": "A String", # Source name to facet on. Format: datasources/{source_id} If empty, all data sources will be used.
        },
      ],
      "defaultSortOptions": { # The default options for sorting the search results
        "operatorName": "A String", # The 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
      },
      "displayName": "A String", # Display name of the Search Application. The maximum length is 300 characters.
      "enableAuditLog": True or False, # Indicates whether audit logging is on/off for requests made for the search application in query APIs.
      "name": "A String", # The name of the Search Application. Format: searchapplications/{application_id}.
      "operationIds": [ # Output only. IDs of the Long Running Operations (LROs) currently running for this schema. Output only field.
        "A String",
      ],
      "queryInterpretationConfig": { # Default options to interpret user query. # The default options for query interpretation
        "forceDisableSupplementalResults": True or False, # Set this flag to disable supplemental results retrieval, setting a flag here will not retrieve supplemental results for queries associated with a given search application. If this flag is set to True, it will take precedence over the option set at Query level. For the default value of False, query level flag will set the correct interpretation for supplemental results.
        "forceVerbatimMode": True or False, # Enable this flag to turn off all internal optimizations like natural language (NL) interpretation of queries, supplemental results retrieval, and usage of synonyms including custom ones. If this flag is set to True, it will take precedence over the option set at Query level. For the default value of False, query level flag will set the correct interpretation for verbatim mode.
      },
      "returnResultThumbnailUrls": True or False, # With each result we should return the URI for its thumbnail (when applicable)
      "scoringConfig": { # Scoring configurations for a source while processing a Search or Suggest request. # Configuration for ranking results.
        "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.
      },
      "sourceConfig": [ # Configuration for a sources specified in data_source_restrictions.
        { # Configurations for a source while processing a Search or Suggest request.
          "crowdingConfig": { # Set search results crowding limits. Crowding is a situation in which 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. # The crowding configuration for the source.
            "numResults": 42, # Maximum number of results allowed from a datasource in a result page as long as results from other sources are not exhausted. Value specified must not be negative. A default value is used if this value is equal to 0. To disable crowding, set the value greater than 100.
            "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.
          },
          "scoringConfig": { # Set the scoring configuration. This allows modifying the ranking of results for a source. # The scoring configuration for the source.
            "sourceImportance": "A String", # Importance of the source.
          },
          "source": { # Defines sources for the suggest/search APIs. # The source for which this configuration is to be used.
            "name": "A String", # Source name for content indexed by the Indexing API.
            "predefinedSource": "A String", # Predefined content source for Google Apps.
          },
        },
      ],
    }

      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.
      "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.
      "error": { # The `Status` type defines a logical error model that is suitable for 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). # The error result of the operation in case of failure or cancellation.
        "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.
          },
        ],
        "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.
      },
      "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.
      },
      "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}`.
      "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.
      },
    }

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

    Deletes a search application. **Note:** This API requires an admin account to execute.

    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.
      "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.
      "error": { # The `Status` type defines a logical error model that is suitable for 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). # The error result of the operation in case of failure or cancellation.
        "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.
          },
        ],
        "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.
      },
      "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.
      },
      "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}`.
      "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.
      },
    }

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

    Gets the specified search application. **Note:** This API requires an admin account to execute.

    Args:
      name: string, The name of the search application. Format: searchapplications/{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 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`.
                "compositeFilter": {
                  "logicOperator": "A String", # The logic operator of the sub filter.
                  "subFilters": [ # Sub filters.
                    # Object with schema name: 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.
                    "booleanValue": True or False,
                    "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.
                      "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
                      "month": 42, # Month of date. Must be from 1 to 12.
                      "year": 42, # Year of date. Must be from 1 to 9999.
                    },
                    "doubleValue": 3.14,
                    "integerValue": "A String",
                    "stringValue": "A String",
                    "timestampValue": "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.
            "name": "A String", # Source name for content indexed by the Indexing API.
            "predefinedSource": "A String", # Predefined content source for Google Apps.
          },
        },
      ],
      "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.
          "numFacetBuckets": 42, # Maximum number of facet buckets that should be returned for this facet. Defaults to 10. Maximum value is 100.
          "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.
          "operatorName": "A String", # The name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions
          "sourceName": "A String", # Source name to facet on. Format: datasources/{source_id} If empty, all data sources will be used.
        },
      ],
      "defaultSortOptions": { # The default options for sorting the search results
        "operatorName": "A String", # The 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
      },
      "displayName": "A String", # Display name of the Search Application. The maximum length is 300 characters.
      "enableAuditLog": True or False, # Indicates whether audit logging is on/off for requests made for the search application in query APIs.
      "name": "A String", # The name of the Search Application. Format: searchapplications/{application_id}.
      "operationIds": [ # Output only. IDs of the Long Running Operations (LROs) currently running for this schema. Output only field.
        "A String",
      ],
      "queryInterpretationConfig": { # Default options to interpret user query. # The default options for query interpretation
        "forceDisableSupplementalResults": True or False, # Set this flag to disable supplemental results retrieval, setting a flag here will not retrieve supplemental results for queries associated with a given search application. If this flag is set to True, it will take precedence over the option set at Query level. For the default value of False, query level flag will set the correct interpretation for supplemental results.
        "forceVerbatimMode": True or False, # Enable this flag to turn off all internal optimizations like natural language (NL) interpretation of queries, supplemental results retrieval, and usage of synonyms including custom ones. If this flag is set to True, it will take precedence over the option set at Query level. For the default value of False, query level flag will set the correct interpretation for verbatim mode.
      },
      "returnResultThumbnailUrls": True or False, # With each result we should return the URI for its thumbnail (when applicable)
      "scoringConfig": { # Scoring configurations for a source while processing a Search or Suggest request. # Configuration for ranking results.
        "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.
      },
      "sourceConfig": [ # Configuration for a sources specified in data_source_restrictions.
        { # Configurations for a source while processing a Search or Suggest request.
          "crowdingConfig": { # Set search results crowding limits. Crowding is a situation in which 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. # The crowding configuration for the source.
            "numResults": 42, # Maximum number of results allowed from a datasource in a result page as long as results from other sources are not exhausted. Value specified must not be negative. A default value is used if this value is equal to 0. To disable crowding, set the value greater than 100.
            "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.
          },
          "scoringConfig": { # Set the scoring configuration. This allows modifying the ranking of results for a source. # The scoring configuration for the source.
            "sourceImportance": "A String", # Importance of the source.
          },
          "source": { # Defines sources for the suggest/search APIs. # The source for which this configuration is to be used.
            "name": "A String", # Source name for content indexed by the Indexing API.
            "predefinedSource": "A String", # Predefined content source for Google Apps.
          },
        },
      ],
    }

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

    Lists all search applications. **Note:** This API requires an admin account to execute.

    Args:
      debugOptions_enableDebugging: boolean, If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field.
      pageSize: integer, The maximum number of items to return.
      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 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`.
                    "compositeFilter": {
                      "logicOperator": "A String", # The logic operator of the sub filter.
                      "subFilters": [ # Sub filters.
                        # Object with schema name: 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.
                        "booleanValue": True or False,
                        "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.
                          "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
                          "month": 42, # Month of date. Must be from 1 to 12.
                          "year": 42, # Year of date. Must be from 1 to 9999.
                        },
                        "doubleValue": 3.14,
                        "integerValue": "A String",
                        "stringValue": "A String",
                        "timestampValue": "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.
                "name": "A String", # Source name for content indexed by the Indexing API.
                "predefinedSource": "A String", # Predefined content source for Google Apps.
              },
            },
          ],
          "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.
              "numFacetBuckets": 42, # Maximum number of facet buckets that should be returned for this facet. Defaults to 10. Maximum value is 100.
              "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.
              "operatorName": "A String", # The name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions
              "sourceName": "A String", # Source name to facet on. Format: datasources/{source_id} If empty, all data sources will be used.
            },
          ],
          "defaultSortOptions": { # The default options for sorting the search results
            "operatorName": "A String", # The 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
          },
          "displayName": "A String", # Display name of the Search Application. The maximum length is 300 characters.
          "enableAuditLog": True or False, # Indicates whether audit logging is on/off for requests made for the search application in query APIs.
          "name": "A String", # The name of the Search Application. Format: searchapplications/{application_id}.
          "operationIds": [ # Output only. IDs of the Long Running Operations (LROs) currently running for this schema. Output only field.
            "A String",
          ],
          "queryInterpretationConfig": { # Default options to interpret user query. # The default options for query interpretation
            "forceDisableSupplementalResults": True or False, # Set this flag to disable supplemental results retrieval, setting a flag here will not retrieve supplemental results for queries associated with a given search application. If this flag is set to True, it will take precedence over the option set at Query level. For the default value of False, query level flag will set the correct interpretation for supplemental results.
            "forceVerbatimMode": True or False, # Enable this flag to turn off all internal optimizations like natural language (NL) interpretation of queries, supplemental results retrieval, and usage of synonyms including custom ones. If this flag is set to True, it will take precedence over the option set at Query level. For the default value of False, query level flag will set the correct interpretation for verbatim mode.
          },
          "returnResultThumbnailUrls": True or False, # With each result we should return the URI for its thumbnail (when applicable)
          "scoringConfig": { # Scoring configurations for a source while processing a Search or Suggest request. # Configuration for ranking results.
            "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.
          },
          "sourceConfig": [ # Configuration for a sources specified in data_source_restrictions.
            { # Configurations for a source while processing a Search or Suggest request.
              "crowdingConfig": { # Set search results crowding limits. Crowding is a situation in which 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. # The crowding configuration for the source.
                "numResults": 42, # Maximum number of results allowed from a datasource in a result page as long as results from other sources are not exhausted. Value specified must not be negative. A default value is used if this value is equal to 0. To disable crowding, set the value greater than 100.
                "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.
              },
              "scoringConfig": { # Set the scoring configuration. This allows modifying the ranking of results for a source. # The scoring configuration for the source.
                "sourceImportance": "A String", # Importance of the source.
              },
              "source": { # Defines sources for the suggest/search APIs. # The source for which this configuration is to be used.
                "name": "A String", # Source name for content indexed by the Indexing API.
                "predefinedSource": "A String", # Predefined content source for Google Apps.
              },
            },
          ],
        },
      ],
    }

`list_next()`

    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.

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

    Updates a search application. **Note:** This API requires an admin account to execute.

    Args:
      name: string, The name of the Search Application. Format: searchapplications/{application_id}. (required)
      body: object, The request body.
        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 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`.
                "compositeFilter": {
                  "logicOperator": "A String", # The logic operator of the sub filter.
                  "subFilters": [ # Sub filters.
                    # Object with schema name: 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.
                    "booleanValue": True or False,
                    "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.
                      "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
                      "month": 42, # Month of date. Must be from 1 to 12.
                      "year": 42, # Year of date. Must be from 1 to 9999.
                    },
                    "doubleValue": 3.14,
                    "integerValue": "A String",
                    "stringValue": "A String",
                    "timestampValue": "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.
            "name": "A String", # Source name for content indexed by the Indexing API.
            "predefinedSource": "A String", # Predefined content source for Google Apps.
          },
        },
      ],
      "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.
          "numFacetBuckets": 42, # Maximum number of facet buckets that should be returned for this facet. Defaults to 10. Maximum value is 100.
          "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.
          "operatorName": "A String", # The name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions
          "sourceName": "A String", # Source name to facet on. Format: datasources/{source_id} If empty, all data sources will be used.
        },
      ],
      "defaultSortOptions": { # The default options for sorting the search results
        "operatorName": "A String", # The 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
      },
      "displayName": "A String", # Display name of the Search Application. The maximum length is 300 characters.
      "enableAuditLog": True or False, # Indicates whether audit logging is on/off for requests made for the search application in query APIs.
      "name": "A String", # The name of the Search Application. Format: searchapplications/{application_id}.
      "operationIds": [ # Output only. IDs of the Long Running Operations (LROs) currently running for this schema. Output only field.
        "A String",
      ],
      "queryInterpretationConfig": { # Default options to interpret user query. # The default options for query interpretation
        "forceDisableSupplementalResults": True or False, # Set this flag to disable supplemental results retrieval, setting a flag here will not retrieve supplemental results for queries associated with a given search application. If this flag is set to True, it will take precedence over the option set at Query level. For the default value of False, query level flag will set the correct interpretation for supplemental results.
        "forceVerbatimMode": True or False, # Enable this flag to turn off all internal optimizations like natural language (NL) interpretation of queries, supplemental results retrieval, and usage of synonyms including custom ones. If this flag is set to True, it will take precedence over the option set at Query level. For the default value of False, query level flag will set the correct interpretation for verbatim mode.
      },
      "returnResultThumbnailUrls": True or False, # With each result we should return the URI for its thumbnail (when applicable)
      "scoringConfig": { # Scoring configurations for a source while processing a Search or Suggest request. # Configuration for ranking results.
        "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.
      },
      "sourceConfig": [ # Configuration for a sources specified in data_source_restrictions.
        { # Configurations for a source while processing a Search or Suggest request.
          "crowdingConfig": { # Set search results crowding limits. Crowding is a situation in which 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. # The crowding configuration for the source.
            "numResults": 42, # Maximum number of results allowed from a datasource in a result page as long as results from other sources are not exhausted. Value specified must not be negative. A default value is used if this value is equal to 0. To disable crowding, set the value greater than 100.
            "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.
          },
          "scoringConfig": { # Set the scoring configuration. This allows modifying the ranking of results for a source. # The scoring configuration for the source.
            "sourceImportance": "A String", # Importance of the source.
          },
          "source": { # Defines sources for the suggest/search APIs. # The source for which this configuration is to be used.
            "name": "A String", # Source name for content indexed by the Indexing API.
            "predefinedSource": "A String", # Predefined content source for Google Apps.
          },
        },
      ],
    }

      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.
      "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.
      "error": { # The `Status` type defines a logical error model that is suitable for 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). # The error result of the operation in case of failure or cancellation.
        "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.
          },
        ],
        "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.
      },
      "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.
      },
      "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}`.
      "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.
      },
    }

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

    Resets a search application to default settings. This will return an empty response. **Note:** This API requires an admin account to execute.

    Args:
      name: string, The name of the search application to be reset. Format: applications/{application_id}. (required)
      body: object, The request body.
        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.
      "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.
      "error": { # The `Status` type defines a logical error model that is suitable for 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). # The error result of the operation in case of failure or cancellation.
        "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.
          },
        ],
        "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.
      },
      "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.
      },
      "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}`.
      "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.
      },
    }

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

    Updates a search application. **Note:** This API requires an admin account to execute.

    Args:
      name: string, The name of the Search Application. Format: searchapplications/{application_id}. (required)
      body: object, The request body.
        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 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`.
                "compositeFilter": {
                  "logicOperator": "A String", # The logic operator of the sub filter.
                  "subFilters": [ # Sub filters.
                    # Object with schema name: 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.
                    "booleanValue": True or False,
                    "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.
                      "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
                      "month": 42, # Month of date. Must be from 1 to 12.
                      "year": 42, # Year of date. Must be from 1 to 9999.
                    },
                    "doubleValue": 3.14,
                    "integerValue": "A String",
                    "stringValue": "A String",
                    "timestampValue": "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.
            "name": "A String", # Source name for content indexed by the Indexing API.
            "predefinedSource": "A String", # Predefined content source for Google Apps.
          },
        },
      ],
      "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.
          "numFacetBuckets": 42, # Maximum number of facet buckets that should be returned for this facet. Defaults to 10. Maximum value is 100.
          "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.
          "operatorName": "A String", # The name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions
          "sourceName": "A String", # Source name to facet on. Format: datasources/{source_id} If empty, all data sources will be used.
        },
      ],
      "defaultSortOptions": { # The default options for sorting the search results
        "operatorName": "A String", # The 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
      },
      "displayName": "A String", # Display name of the Search Application. The maximum length is 300 characters.
      "enableAuditLog": True or False, # Indicates whether audit logging is on/off for requests made for the search application in query APIs.
      "name": "A String", # The name of the Search Application. Format: searchapplications/{application_id}.
      "operationIds": [ # Output only. IDs of the Long Running Operations (LROs) currently running for this schema. Output only field.
        "A String",
      ],
      "queryInterpretationConfig": { # Default options to interpret user query. # The default options for query interpretation
        "forceDisableSupplementalResults": True or False, # Set this flag to disable supplemental results retrieval, setting a flag here will not retrieve supplemental results for queries associated with a given search application. If this flag is set to True, it will take precedence over the option set at Query level. For the default value of False, query level flag will set the correct interpretation for supplemental results.
        "forceVerbatimMode": True or False, # Enable this flag to turn off all internal optimizations like natural language (NL) interpretation of queries, supplemental results retrieval, and usage of synonyms including custom ones. If this flag is set to True, it will take precedence over the option set at Query level. For the default value of False, query level flag will set the correct interpretation for verbatim mode.
      },
      "returnResultThumbnailUrls": True or False, # With each result we should return the URI for its thumbnail (when applicable)
      "scoringConfig": { # Scoring configurations for a source while processing a Search or Suggest request. # Configuration for ranking results.
        "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.
      },
      "sourceConfig": [ # Configuration for a sources specified in data_source_restrictions.
        { # Configurations for a source while processing a Search or Suggest request.
          "crowdingConfig": { # Set search results crowding limits. Crowding is a situation in which 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. # The crowding configuration for the source.
            "numResults": 42, # Maximum number of results allowed from a datasource in a result page as long as results from other sources are not exhausted. Value specified must not be negative. A default value is used if this value is equal to 0. To disable crowding, set the value greater than 100.
            "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.
          },
          "scoringConfig": { # Set the scoring configuration. This allows modifying the ranking of results for a source. # The scoring configuration for the source.
            "sourceImportance": "A String", # Importance of the source.
          },
          "source": { # Defines sources for the suggest/search APIs. # The source for which this configuration is to be used.
            "name": "A String", # Source name for content indexed by the Indexing API.
            "predefinedSource": "A String", # Predefined content source for Google Apps.
          },
        },
      ],
    }

      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.
      "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.
      "error": { # The `Status` type defines a logical error model that is suitable for 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). # The error result of the operation in case of failure or cancellation.
        "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.
          },
        ],
        "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.
      },
      "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.
      },
      "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}`.
      "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.
      },
    }