/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the cloudsearchdomain-2013-01-01.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.CloudSearchDomain.Model { /// /// Container for the parameters to the Search operation. /// 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: /// /// /// /// 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. /// /// public partial class SearchRequest : AmazonCloudSearchDomainRequest { private string _cursor; private string _expr; private string _facet; private string _filterQuery; private string _highlight; private bool? _partial; private string _query; private string _queryOptions; private QueryParser _queryParser; private string _return; private long? _size; private string _sort; private long? _start; private string _stats; /// /// Gets and sets the property 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. /// /// public string Cursor { get { return this._cursor; } set { this._cursor = value; } } // Check to see if Cursor property is set internal bool IsSetCursor() { return this._cursor != null; } /// /// Gets and sets the property 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. /// /// /// /// You specify the expressions in JSON using the form {"EXPRESSIONNAME":"EXPRESSION"}. /// You can define and use multiple expressions in a search request. For example: /// /// /// /// {"expression1":"_score*rating", "expression2":"(1/rank)*year"} /// /// /// /// For information about the variables, operators, and functions you can use in expressions, /// see Writing /// Expressions in the Amazon CloudSearch Developer Guide. /// /// public string Expr { get { return this._expr; } set { this._expr = value; } } // Check to see if Expr property is set internal bool IsSetExpr() { return this._expr != null; } /// /// Gets and sets the property 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":{"OPTION":VALUE,"OPTION":"STRING"}}. /// /// /// /// You can specify the following faceting options: /// /// /// /// 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. /// /// /// /// To count particular buckets of values, use the buckets option. For example, /// the following request uses the buckets option to calculate and return /// facet counts by decade. /// /// /// /// {"year":{"buckets":["[1970,1979]","[1980,1989]","[1990,1999]","[2000,2009]","[2010,}"]}} /// /// /// /// /// To sort facets by facet count, use the count option. For example, the /// following request sets the sort option to count to sort /// the facet values by facet count, with the facet values that have the most matching /// documents listed first. Setting the size option to 3 returns only the /// top three facet values. /// /// /// /// {"year":{"sort":"count","size":3}} /// /// /// /// To sort the facets by value, use the bucket option. For example, the /// following request sets the sort option to bucket to sort /// the facet values numerically by year, with earliest year listed first. /// /// /// /// {"year":{"sort":"bucket"}} /// /// /// /// For more information, see Getting /// and Using Facet Information in the Amazon CloudSearch Developer Guide. /// /// public string Facet { get { return this._facet; } set { this._facet = value; } } // Check to see if Facet property is set internal bool IsSetFacet() { return this._facet != null; } /// /// Gets and sets the property FilterQuery. /// /// 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. /// /// public string FilterQuery { get { return this._filterQuery; } set { this._filterQuery = value; } } // Check to see if FilterQuery property is set internal bool IsSetFilterQuery() { return this._filterQuery != null; } /// /// Gets and sets the property 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":VALUE,"OPTION:"STRING"},"FIELD":{"OPTION":VALUE,"OPTION":"STRING"}}. /// /// /// /// You can specify the following highlight options: /// /// /// /// 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>. /// /// /// /// For example, the following request retrieves highlights for the actors /// and title fields. /// /// /// /// { "actors": {}, "title": {"format": "text","max_phrases": 2,"pre_tag": "","post_tag": /// ""} } /// /// public string Highlight { get { return this._highlight; } set { this._highlight = value; } } // Check to see if Highlight property is set internal bool IsSetHighlight() { return this._highlight != null; } /// /// Gets and sets the property 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. /// /// public bool Partial { get { return this._partial.GetValueOrDefault(); } set { this._partial = value; } } // Check to see if Partial property is set internal bool IsSetPartial() { return this._partial.HasValue; } /// /// Gets and sets the property 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. /// /// [AWSProperty(Required=true)] public string Query { get { return this._query; } set { this._query = value; } } // Check to see if Query property is set internal bool IsSetQuery() { return this._query != null; } /// /// Gets and sets the property QueryOptions. /// /// Configures options for the query parser specified in the queryParser /// parameter. You specify the options in JSON using the following form {"OPTION1":"VALUE1","OPTION2":VALUE2"..."OPTIONN":"VALUEN"}. /// /// /// /// The options you can configure vary according to which parser you use: /// /// /// public string QueryOptions { get { return this._queryOptions; } set { this._queryOptions = value; } } // Check to see if QueryOptions property is set internal bool IsSetQueryOptions() { return this._queryOptions != null; } /// /// Gets and sets the property QueryParser. /// /// 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: /// /// /// public QueryParser QueryParser { get { return this._queryParser; } set { this._queryParser = value; } } // Check to see if QueryParser property is set internal bool IsSetQueryParser() { return this._queryParser != null; } /// /// Gets and sets the property Return. /// /// 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. /// /// public string Return { get { return this._return; } set { this._return = value; } } // Check to see if Return property is set internal bool IsSetReturn() { return this._return != null; } /// /// Gets and sets the property Size. /// /// Specifies the maximum number of search hits to include in the response. /// /// public long Size { get { return this._size.GetValueOrDefault(); } set { this._size = value; } } // Check to see if Size property is set internal bool IsSetSize() { return this._size.HasValue; } /// /// Gets and sets the property 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. /// /// public string Sort { get { return this._sort; } set { this._sort = value; } } // Check to see if Sort property is set internal bool IsSetSort() { return this._sort != null; } /// /// Gets and sets the property 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. /// /// public long Start { get { return this._start.GetValueOrDefault(); } set { this._start = value; } } // Check to see if Start property is set internal bool IsSetStart() { return this._start.HasValue; } /// /// Gets and sets the property Stats. /// /// Specifies one or more fields for which to get statistics information. Each specified /// field must be facet-enabled in the domain configuration. The fields are specified /// in JSON using the form: /// /// {"FIELD-A":{},"FIELD-B":{}} /// /// There are currently no options supported for statistics. /// /// public string Stats { get { return this._stats; } set { this._stats = value; } } // Check to see if Stats property is set internal bool IsSetStats() { return this._stats != null; } } }