Mercurial > repos > shellac > guppy_basecaller
diff env/lib/python3.7/site-packages/boto/cloudsearchdomain/layer1.py @ 5:9b1c78e6ba9c draft default tip
"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
| author | shellac |
|---|---|
| date | Mon, 01 Jun 2020 08:59:25 -0400 |
| parents | 79f47841a781 |
| children |
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/boto/cloudsearchdomain/layer1.py Thu May 14 16:47:39 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,540 +0,0 @@ -# Copyright (c) 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved -# -# Permission is hereby granted, free of charge, to any person obtaining a -# copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, dis- -# tribute, sublicense, and/or sell copies of the Software, and to permit -# persons to whom the Software is furnished to do so, subject to the fol- -# lowing conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- -# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -# IN THE SOFTWARE. -# -from boto.compat import json -from boto.exception import JSONResponseError -from boto.connection import AWSAuthConnection -from boto.regioninfo import RegionInfo -from boto.cloudsearchdomain import exceptions - - -class CloudSearchDomainConnection(AWSAuthConnection): - """ - You use the AmazonCloudSearch2013 API to upload documents to a - search domain and search those documents. - - The endpoints for submitting `UploadDocuments`, `Search`, and - `Suggest` requests are domain-specific. To get the endpoints for - your domain, use the Amazon CloudSearch configuration service - `DescribeDomains` action. The domain endpoints are also displayed - on the domain dashboard in the Amazon CloudSearch console. You - submit suggest requests to the search endpoint. - - For more information, see the `Amazon CloudSearch Developer - Guide`_. - """ - APIVersion = "2013-01-01" - AuthServiceName = 'cloudsearch' - DefaultRegionName = "us-east-1" - DefaultRegionEndpoint = "cloudsearch.us-east-1.amazonaws.com" - ResponseError = JSONResponseError - - _faults = { - "SearchException": exceptions.SearchException, - "DocumentServiceException": exceptions.DocumentServiceException, - } - - def __init__(self, **kwargs): - region = kwargs.get('region') - if not region: - region = RegionInfo(self, self.DefaultRegionName, - self.DefaultRegionEndpoint) - else: - del kwargs['region'] - if kwargs.get('host', None) is None: - raise ValueError( - 'The argument, host, must be provided when creating a ' - 'CloudSearchDomainConnection because its methods require the ' - 'specific domain\'s endpoint in order to successfully make ' - 'requests to that CloudSearch Domain.' - ) - super(CloudSearchDomainConnection, self).__init__(**kwargs) - self.region = region - - def _required_auth_capability(self): - return ['hmac-v4'] - - def search(self, query, cursor=None, expr=None, facet=None, - filter_query=None, highlight=None, partial=None, - query_options=None, query_parser=None, ret=None, size=None, - sort=None, start=None): - """ - Retrieves a list of documents that match the specified search - criteria. How you specify the search criteria depends on which - query parser you use. Amazon CloudSearch supports four query - parsers: - - - + `simple`: search all `text` and `text-array` fields for the - specified string. Search for phrases, individual terms, and - prefixes. - + `structured`: search specific fields, construct compound - queries using Boolean operators, and use advanced features - such as term boosting and proximity searching. - + `lucene`: specify search criteria using the Apache Lucene - query parser syntax. - + `dismax`: specify search criteria using the simplified - subset of the Apache Lucene query parser syntax defined by the - DisMax query parser. - - - For more information, see `Searching Your Data`_ in the Amazon - CloudSearch Developer Guide . - - The endpoint for submitting `Search` requests is domain- - specific. You submit search requests to a domain's search - endpoint. To get the search endpoint for your domain, use the - Amazon CloudSearch configuration service `DescribeDomains` - action. A domain's endpoints are also displayed on the domain - dashboard in the Amazon CloudSearch console. - - :type cursor: string - :param cursor: Retrieves a cursor value you can use to page through - large result sets. Use the `size` parameter to control the number - of hits to include in each response. You can specify either the - `cursor` or `start` parameter in a request; they are mutually - exclusive. To get the first cursor, set the cursor value to - `initial`. In subsequent requests, specify the cursor value - returned in the hits section of the response. - For more information, see `Paginating Results`_ in the Amazon - CloudSearch Developer Guide . - - :type expr: string - :param expr: Defines one or more numeric expressions that can be used - to sort results or specify search or filter criteria. You can also - specify expressions as return fields. - For more information about defining and using expressions, see - `Configuring Expressions`_ in the Amazon CloudSearch Developer - Guide . - - :type facet: string - :param facet: Specifies one or more fields for which to get facet - information, and options that control how the facet information is - returned. Each specified field must be facet-enabled in the domain - configuration. The fields and options are specified in JSON using - the form `{"FIELD":{"OPTION":VALUE,"OPTION:"STRING"},"FIELD":{"OPTI - ON":VALUE,"OPTION":"STRING"}}`. - You can specify the following faceting options: - - - + `buckets` specifies an array of the facet values or ranges to count. - Ranges are specified using the same syntax that you use to search - for a range of values. For more information, see ` Searching for a - Range of Values`_ in the Amazon CloudSearch Developer Guide . - Buckets are returned in the order they are specified in the - request. The `sort` and `size` options are not valid if you specify - `buckets`. - + `size` specifies the maximum number of facets to include in the - results. By default, Amazon CloudSearch returns counts for the top - 10. The `size` parameter is only valid when you specify the `sort` - option; it cannot be used in conjunction with `buckets`. - + `sort` specifies how you want to sort the facets in the results: - `bucket` or `count`. Specify `bucket` to sort alphabetically or - numerically by facet value (in ascending order). Specify `count` to - sort by the facet counts computed for each facet value (in - descending order). To retrieve facet counts for particular values - or ranges of values, use the `buckets` option instead of `sort`. - - - If no facet options are specified, facet counts are computed for all - field values, the facets are sorted by facet count, and the top 10 - facets are returned in the results. - - For more information, see `Getting and Using Facet Information`_ in the - Amazon CloudSearch Developer Guide . - - :type filter_query: string - :param filter_query: Specifies a structured query that filters the - results of a search without affecting how the results are scored - and sorted. You use `filterQuery` in conjunction with the `query` - parameter to filter the documents that match the constraints - specified in the `query` parameter. Specifying a filter controls - only which matching documents are included in the results, it has - no effect on how they are scored and sorted. The `filterQuery` - parameter supports the full structured query syntax. - For more information about using filters, see `Filtering Matching - Documents`_ in the Amazon CloudSearch Developer Guide . - - :type highlight: string - :param highlight: Retrieves highlights for matches in the specified - `text` or `text-array` fields. Each specified field must be - highlight enabled in the domain configuration. The fields and - options are specified in JSON using the form `{"FIELD":{"OPTION":VA - LUE,"OPTION:"STRING"},"FIELD":{"OPTION":VALUE,"OPTION":"STRING"}}`. - You can specify the following highlight options: - - - + `format`: specifies the format of the data in the text field: `text` - or `html`. When data is returned as HTML, all non-alphanumeric - characters are encoded. The default is `html`. - + `max_phrases`: specifies the maximum number of occurrences of the - search term(s) you want to highlight. By default, the first - occurrence is highlighted. - + `pre_tag`: specifies the string to prepend to an occurrence of a - search term. The default for HTML highlights is `<em>`. The - default for text highlights is `*`. - + `post_tag`: specifies the string to append to an occurrence of a - search term. The default for HTML highlights is `</em>`. The - default for text highlights is `*`. - - - If no highlight options are specified for a field, the returned field - text is treated as HTML and the first match is highlighted with - emphasis tags: `<em>search-term</em>`. - - :type partial: boolean - :param partial: Enables partial results to be returned if one or more - index partitions are unavailable. When your search index is - partitioned across multiple search instances, by default Amazon - CloudSearch only returns results if every partition can be queried. - This means that the failure of a single search instance can result - in 5xx (internal server) errors. When you enable partial results, - Amazon CloudSearch returns whatever results are available and - includes the percentage of documents searched in the search results - (percent-searched). This enables you to more gracefully degrade - your users' search experience. For example, rather than displaying - no results, you could display the partial results and a message - indicating that the results might be incomplete due to a temporary - system outage. - - :type query: string - :param query: Specifies the search criteria for the request. How you - specify the search criteria depends on the query parser used for - the request and the parser options specified in the `queryOptions` - parameter. By default, the `simple` query parser is used to process - requests. To use the `structured`, `lucene`, or `dismax` query - parser, you must also specify the `queryParser` parameter. - For more information about specifying search criteria, see `Searching - Your Data`_ in the Amazon CloudSearch Developer Guide . - - :type query_options: string - :param query_options: - Configures options for the query parser specified in the `queryParser` - parameter. - - The options you can configure vary according to which parser you use: - - - + `defaultOperator`: The default operator used to combine individual - terms in the search string. For example: `defaultOperator: 'or'`. - For the `dismax` parser, you specify a percentage that represents - the percentage of terms in the search string (rounded down) that - must match, rather than a default operator. A value of `0%` is the - equivalent to OR, and a value of `100%` is equivalent to AND. The - percentage must be specified as a value in the range 0-100 followed - by the percent (%) symbol. For example, `defaultOperator: 50%`. - Valid values: `and`, `or`, a percentage in the range 0%-100% ( - `dismax`). Default: `and` ( `simple`, `structured`, `lucene`) or - `100` ( `dismax`). Valid for: `simple`, `structured`, `lucene`, and - `dismax`. - + `fields`: An array of the fields to search when no fields are - specified in a search. If no fields are specified in a search and - this option is not specified, all text and text-array fields are - searched. You can specify a weight for each field to control the - relative importance of each field when Amazon CloudSearch - calculates relevance scores. To specify a field weight, append a - caret ( `^`) symbol and the weight to the field name. For example, - to boost the importance of the `title` field over the `description` - field you could specify: `"fields":["title^5","description"]`. - Valid values: The name of any configured field and an optional - numeric value greater than zero. Default: All `text` and `text- - array` fields. Valid for: `simple`, `structured`, `lucene`, and - `dismax`. - + `operators`: An array of the operators or special characters you want - to disable for the simple query parser. If you disable the `and`, - `or`, or `not` operators, the corresponding operators ( `+`, `|`, - `-`) have no special meaning and are dropped from the search - string. Similarly, disabling `prefix` disables the wildcard - operator ( `*`) and disabling `phrase` disables the ability to - search for phrases by enclosing phrases in double quotes. Disabling - precedence disables the ability to control order of precedence - using parentheses. Disabling `near` disables the ability to use the - ~ operator to perform a sloppy phrase search. Disabling the `fuzzy` - operator disables the ability to use the ~ operator to perform a - fuzzy search. `escape` disables the ability to use a backslash ( - `\`) to escape special characters within the search string. - Disabling whitespace is an advanced option that prevents the parser - from tokenizing on whitespace, which can be useful for Vietnamese. - (It prevents Vietnamese words from being split incorrectly.) For - example, you could disable all operators other than the phrase - operator to support just simple term and phrase queries: - `"operators":["and","not","or", "prefix"]`. Valid values: `and`, - `escape`, `fuzzy`, `near`, `not`, `or`, `phrase`, `precedence`, - `prefix`, `whitespace`. Default: All operators and special - characters are enabled. Valid for: `simple`. - + `phraseFields`: An array of the `text` or `text-array` fields you - want to use for phrase searches. When the terms in the search - string appear in close proximity within a field, the field scores - higher. You can specify a weight for each field to boost that - score. The `phraseSlop` option controls how much the matches can - deviate from the search string and still be boosted. To specify a - field weight, append a caret ( `^`) symbol and the weight to the - field name. For example, to boost phrase matches in the `title` - field over the `abstract` field, you could specify: - `"phraseFields":["title^3", "plot"]` Valid values: The name of any - `text` or `text-array` field and an optional numeric value greater - than zero. Default: No fields. If you don't specify any fields with - `phraseFields`, proximity scoring is disabled even if `phraseSlop` - is specified. Valid for: `dismax`. - + `phraseSlop`: An integer value that specifies how much matches can - deviate from the search phrase and still be boosted according to - the weights specified in the `phraseFields` option; for example, - `phraseSlop: 2`. You must also specify `phraseFields` to enable - proximity scoring. Valid values: positive integers. Default: 0. - Valid for: `dismax`. - + `explicitPhraseSlop`: An integer value that specifies how much a - match can deviate from the search phrase when the phrase is - enclosed in double quotes in the search string. (Phrases that - exceed this proximity distance are not considered a match.) For - example, to specify a slop of three for dismax phrase queries, you - would specify `"explicitPhraseSlop":3`. Valid values: positive - integers. Default: 0. Valid for: `dismax`. - + `tieBreaker`: When a term in the search string is found in a - document's field, a score is calculated for that field based on how - common the word is in that field compared to other documents. If - the term occurs in multiple fields within a document, by default - only the highest scoring field contributes to the document's - overall score. You can specify a `tieBreaker` value to enable the - matches in lower-scoring fields to contribute to the document's - score. That way, if two documents have the same max field score for - a particular term, the score for the document that has matches in - more fields will be higher. The formula for calculating the score - with a tieBreaker is `(max field score) + (tieBreaker) * (sum of - the scores for the rest of the matching fields)`. Set `tieBreaker` - to 0 to disregard all but the highest scoring field (pure max): - `"tieBreaker":0`. Set to 1 to sum the scores from all fields (pure - sum): `"tieBreaker":1`. Valid values: 0.0 to 1.0. Default: 0.0. - Valid for: `dismax`. - - :type query_parser: string - :param query_parser: - Specifies which query parser to use to process the request. If - `queryParser` is not specified, Amazon CloudSearch uses the - `simple` query parser. - - Amazon CloudSearch supports four query parsers: - - - + `simple`: perform simple searches of `text` and `text-array` fields. - By default, the `simple` query parser searches all `text` and - `text-array` fields. You can specify which fields to search by with - the `queryOptions` parameter. If you prefix a search term with a - plus sign (+) documents must contain the term to be considered a - match. (This is the default, unless you configure the default - operator with the `queryOptions` parameter.) You can use the `-` - (NOT), `|` (OR), and `*` (wildcard) operators to exclude particular - terms, find results that match any of the specified terms, or - search for a prefix. To search for a phrase rather than individual - terms, enclose the phrase in double quotes. For more information, - see `Searching for Text`_ in the Amazon CloudSearch Developer Guide - . - + `structured`: perform advanced searches by combining multiple - expressions to define the search criteria. You can also search - within particular fields, search for values and ranges of values, - and use advanced options such as term boosting, `matchall`, and - `near`. For more information, see `Constructing Compound Queries`_ - in the Amazon CloudSearch Developer Guide . - + `lucene`: search using the Apache Lucene query parser syntax. For - more information, see `Apache Lucene Query Parser Syntax`_. - + `dismax`: search using the simplified subset of the Apache Lucene - query parser syntax defined by the DisMax query parser. For more - information, see `DisMax Query Parser Syntax`_. - - :type ret: string - :param ret: Specifies the field and expression values to include in - the response. Multiple fields or expressions are specified as a - comma-separated list. By default, a search response includes all - return enabled fields ( `_all_fields`). To return only the document - IDs for the matching documents, specify `_no_fields`. To retrieve - the relevance score calculated for each document, specify `_score`. - - :type size: long - :param size: Specifies the maximum number of search hits to include in - the response. - - :type sort: string - :param sort: Specifies the fields or custom expressions to use to sort - the search results. Multiple fields or expressions are specified as - a comma-separated list. You must specify the sort direction ( `asc` - or `desc`) for each field; for example, `year desc,title asc`. To - use a field to sort results, the field must be sort-enabled in the - domain configuration. Array type fields cannot be used for sorting. - If no `sort` parameter is specified, results are sorted by their - default relevance scores in descending order: `_score desc`. You - can also sort by document ID ( `_id asc`) and version ( `_version - desc`). - For more information, see `Sorting Results`_ in the Amazon CloudSearch - Developer Guide . - - :type start: long - :param start: Specifies the offset of the first search hit you want to - return. Note that the result set is zero-based; the first result is - at index 0. You can specify either the `start` or `cursor` - parameter in a request, they are mutually exclusive. - For more information, see `Paginating Results`_ in the Amazon - CloudSearch Developer Guide . - - """ - uri = '/2013-01-01/search' - params = {} - headers = {} - query_params = {} - if cursor is not None: - query_params['cursor'] = cursor - if expr is not None: - query_params['expr'] = expr - if facet is not None: - query_params['facet'] = facet - if filter_query is not None: - query_params['fq'] = filter_query - if highlight is not None: - query_params['highlight'] = highlight - if partial is not None: - query_params['partial'] = partial - if query is not None: - query_params['q'] = query - if query_options is not None: - query_params['q.options'] = query_options - if query_parser is not None: - query_params['q.parser'] = query_parser - if ret is not None: - query_params['return'] = ret - if size is not None: - query_params['size'] = size - if sort is not None: - query_params['sort'] = sort - if start is not None: - query_params['start'] = start - return self.make_request('POST', uri, expected_status=200, - data=json.dumps(params), headers=headers, - params=query_params) - - def suggest(self, query, suggester, size=None): - """ - Retrieves autocomplete suggestions for a partial query string. - You can use suggestions enable you to display likely matches - before users finish typing. In Amazon CloudSearch, suggestions - are based on the contents of a particular text field. When you - request suggestions, Amazon CloudSearch finds all of the - documents whose values in the suggester field start with the - specified query string. The beginning of the field must match - the query string to be considered a match. - - For more information about configuring suggesters and - retrieving suggestions, see `Getting Suggestions`_ in the - Amazon CloudSearch Developer Guide . - - The endpoint for submitting `Suggest` requests is domain- - specific. You submit suggest requests to a domain's search - endpoint. To get the search endpoint for your domain, use the - Amazon CloudSearch configuration service `DescribeDomains` - action. A domain's endpoints are also displayed on the domain - dashboard in the Amazon CloudSearch console. - - :type query: string - :param query: Specifies the string for which you want to get - suggestions. - - :type suggester: string - :param suggester: Specifies the name of the suggester to use to find - suggested matches. - - :type size: long - :param size: Specifies the maximum number of suggestions to return. - - """ - uri = '/2013-01-01/suggest' - params = {} - headers = {} - query_params = {} - if query is not None: - query_params['q'] = query - if suggester is not None: - query_params['suggester'] = suggester - if size is not None: - query_params['size'] = size - return self.make_request('GET', uri, expected_status=200, - data=json.dumps(params), headers=headers, - params=query_params) - - def upload_documents(self, documents, content_type): - """ - Posts a batch of documents to a search domain for indexing. A - document batch is a collection of add and delete operations - that represent the documents you want to add, update, or - delete from your domain. Batches can be described in either - JSON or XML. Each item that you want Amazon CloudSearch to - return as a search result (such as a product) is represented - as a document. Every document has a unique ID and one or more - fields that contain the data that you want to search and - return in results. Individual documents cannot contain more - than 1 MB of data. The entire batch cannot exceed 5 MB. To get - the best possible upload performance, group add and delete - operations in batches that are close the 5 MB limit. - Submitting a large volume of single-document batches can - overload a domain's document service. - - The endpoint for submitting `UploadDocuments` requests is - domain-specific. To get the document endpoint for your domain, - use the Amazon CloudSearch configuration service - `DescribeDomains` action. A domain's endpoints are also - displayed on the domain dashboard in the Amazon CloudSearch - console. - - For more information about formatting your data for Amazon - CloudSearch, see `Preparing Your Data`_ in the Amazon - CloudSearch Developer Guide . For more information about - uploading data for indexing, see `Uploading Data`_ in the - Amazon CloudSearch Developer Guide . - - :type documents: blob - :param documents: A batch of documents formatted in JSON or HTML. - - :type content_type: string - :param content_type: - The format of the batch you are uploading. Amazon CloudSearch supports - two document batch formats: - - - + application/json - + application/xml - - """ - uri = '/2013-01-01/documents/batch' - headers = {} - query_params = {} - if content_type is not None: - headers['Content-Type'] = content_type - return self.make_request('POST', uri, expected_status=200, - data=documents, headers=headers, - params=query_params) - - def make_request(self, verb, resource, headers=None, data='', - expected_status=None, params=None): - if headers is None: - headers = {} - response = AWSAuthConnection.make_request( - self, verb, resource, headers=headers, data=data, params=params) - body = json.loads(response.read().decode('utf-8')) - if response.status == expected_status: - return body - else: - raise JSONResponseError(response.status, response.reason, body)
