/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace CloudSearch { namespace Model { /** *

Synonyms, stopwords, and stemming options for an analysis scheme. Includes * tokenization dictionary for Japanese.

See Also:

AWS * API Reference

*/ class AnalysisOptions { public: AWS_CLOUDSEARCH_API AnalysisOptions(); AWS_CLOUDSEARCH_API AnalysisOptions(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDSEARCH_API AnalysisOptions& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDSEARCH_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_CLOUDSEARCH_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

A JSON object that defines synonym groups and aliases. A synonym group is an * array of arrays, where each sub-array is a group of terms where each term in the * group is considered a synonym of every other term in the group. The aliases * value is an object that contains a collection of string:value pairs where the * string specifies a term and the array of values specifies each of the aliases * for that term. An alias is considered a synonym of the specified term, but the * term is not considered a synonym of the alias. For more information about * specifying synonyms, see Synonyms * in the Amazon CloudSearch Developer Guide.

*/ inline const Aws::String& GetSynonyms() const{ return m_synonyms; } /** *

A JSON object that defines synonym groups and aliases. A synonym group is an * array of arrays, where each sub-array is a group of terms where each term in the * group is considered a synonym of every other term in the group. The aliases * value is an object that contains a collection of string:value pairs where the * string specifies a term and the array of values specifies each of the aliases * for that term. An alias is considered a synonym of the specified term, but the * term is not considered a synonym of the alias. For more information about * specifying synonyms, see Synonyms * in the Amazon CloudSearch Developer Guide.

*/ inline bool SynonymsHasBeenSet() const { return m_synonymsHasBeenSet; } /** *

A JSON object that defines synonym groups and aliases. A synonym group is an * array of arrays, where each sub-array is a group of terms where each term in the * group is considered a synonym of every other term in the group. The aliases * value is an object that contains a collection of string:value pairs where the * string specifies a term and the array of values specifies each of the aliases * for that term. An alias is considered a synonym of the specified term, but the * term is not considered a synonym of the alias. For more information about * specifying synonyms, see Synonyms * in the Amazon CloudSearch Developer Guide.

*/ inline void SetSynonyms(const Aws::String& value) { m_synonymsHasBeenSet = true; m_synonyms = value; } /** *

A JSON object that defines synonym groups and aliases. A synonym group is an * array of arrays, where each sub-array is a group of terms where each term in the * group is considered a synonym of every other term in the group. The aliases * value is an object that contains a collection of string:value pairs where the * string specifies a term and the array of values specifies each of the aliases * for that term. An alias is considered a synonym of the specified term, but the * term is not considered a synonym of the alias. For more information about * specifying synonyms, see Synonyms * in the Amazon CloudSearch Developer Guide.

*/ inline void SetSynonyms(Aws::String&& value) { m_synonymsHasBeenSet = true; m_synonyms = std::move(value); } /** *

A JSON object that defines synonym groups and aliases. A synonym group is an * array of arrays, where each sub-array is a group of terms where each term in the * group is considered a synonym of every other term in the group. The aliases * value is an object that contains a collection of string:value pairs where the * string specifies a term and the array of values specifies each of the aliases * for that term. An alias is considered a synonym of the specified term, but the * term is not considered a synonym of the alias. For more information about * specifying synonyms, see Synonyms * in the Amazon CloudSearch Developer Guide.

*/ inline void SetSynonyms(const char* value) { m_synonymsHasBeenSet = true; m_synonyms.assign(value); } /** *

A JSON object that defines synonym groups and aliases. A synonym group is an * array of arrays, where each sub-array is a group of terms where each term in the * group is considered a synonym of every other term in the group. The aliases * value is an object that contains a collection of string:value pairs where the * string specifies a term and the array of values specifies each of the aliases * for that term. An alias is considered a synonym of the specified term, but the * term is not considered a synonym of the alias. For more information about * specifying synonyms, see Synonyms * in the Amazon CloudSearch Developer Guide.

*/ inline AnalysisOptions& WithSynonyms(const Aws::String& value) { SetSynonyms(value); return *this;} /** *

A JSON object that defines synonym groups and aliases. A synonym group is an * array of arrays, where each sub-array is a group of terms where each term in the * group is considered a synonym of every other term in the group. The aliases * value is an object that contains a collection of string:value pairs where the * string specifies a term and the array of values specifies each of the aliases * for that term. An alias is considered a synonym of the specified term, but the * term is not considered a synonym of the alias. For more information about * specifying synonyms, see Synonyms * in the Amazon CloudSearch Developer Guide.

*/ inline AnalysisOptions& WithSynonyms(Aws::String&& value) { SetSynonyms(std::move(value)); return *this;} /** *

A JSON object that defines synonym groups and aliases. A synonym group is an * array of arrays, where each sub-array is a group of terms where each term in the * group is considered a synonym of every other term in the group. The aliases * value is an object that contains a collection of string:value pairs where the * string specifies a term and the array of values specifies each of the aliases * for that term. An alias is considered a synonym of the specified term, but the * term is not considered a synonym of the alias. For more information about * specifying synonyms, see Synonyms * in the Amazon CloudSearch Developer Guide.

*/ inline AnalysisOptions& WithSynonyms(const char* value) { SetSynonyms(value); return *this;} /** *

A JSON array of terms to ignore during indexing and searching. For example, * ["a", "an", "the", "of"]. The stopwords dictionary must explicitly * list each word you want to ignore. Wildcards and regular expressions are not * supported.

*/ inline const Aws::String& GetStopwords() const{ return m_stopwords; } /** *

A JSON array of terms to ignore during indexing and searching. For example, * ["a", "an", "the", "of"]. The stopwords dictionary must explicitly * list each word you want to ignore. Wildcards and regular expressions are not * supported.

*/ inline bool StopwordsHasBeenSet() const { return m_stopwordsHasBeenSet; } /** *

A JSON array of terms to ignore during indexing and searching. For example, * ["a", "an", "the", "of"]. The stopwords dictionary must explicitly * list each word you want to ignore. Wildcards and regular expressions are not * supported.

*/ inline void SetStopwords(const Aws::String& value) { m_stopwordsHasBeenSet = true; m_stopwords = value; } /** *

A JSON array of terms to ignore during indexing and searching. For example, * ["a", "an", "the", "of"]. The stopwords dictionary must explicitly * list each word you want to ignore. Wildcards and regular expressions are not * supported.

*/ inline void SetStopwords(Aws::String&& value) { m_stopwordsHasBeenSet = true; m_stopwords = std::move(value); } /** *

A JSON array of terms to ignore during indexing and searching. For example, * ["a", "an", "the", "of"]. The stopwords dictionary must explicitly * list each word you want to ignore. Wildcards and regular expressions are not * supported.

*/ inline void SetStopwords(const char* value) { m_stopwordsHasBeenSet = true; m_stopwords.assign(value); } /** *

A JSON array of terms to ignore during indexing and searching. For example, * ["a", "an", "the", "of"]. The stopwords dictionary must explicitly * list each word you want to ignore. Wildcards and regular expressions are not * supported.

*/ inline AnalysisOptions& WithStopwords(const Aws::String& value) { SetStopwords(value); return *this;} /** *

A JSON array of terms to ignore during indexing and searching. For example, * ["a", "an", "the", "of"]. The stopwords dictionary must explicitly * list each word you want to ignore. Wildcards and regular expressions are not * supported.

*/ inline AnalysisOptions& WithStopwords(Aws::String&& value) { SetStopwords(std::move(value)); return *this;} /** *

A JSON array of terms to ignore during indexing and searching. For example, * ["a", "an", "the", "of"]. The stopwords dictionary must explicitly * list each word you want to ignore. Wildcards and regular expressions are not * supported.

*/ inline AnalysisOptions& WithStopwords(const char* value) { SetStopwords(value); return *this;} /** *

A JSON object that contains a collection of string:value pairs that each map * a term to its stem. For example, {"term1": "stem1", "term2": "stem2", * "term3": "stem3"}. The stemming dictionary is applied in addition to any * algorithmic stemming. This enables you to override the results of the * algorithmic stemming to correct specific cases of overstemming or understemming. * The maximum size of a stemming dictionary is 500 KB.

*/ inline const Aws::String& GetStemmingDictionary() const{ return m_stemmingDictionary; } /** *

A JSON object that contains a collection of string:value pairs that each map * a term to its stem. For example, {"term1": "stem1", "term2": "stem2", * "term3": "stem3"}. The stemming dictionary is applied in addition to any * algorithmic stemming. This enables you to override the results of the * algorithmic stemming to correct specific cases of overstemming or understemming. * The maximum size of a stemming dictionary is 500 KB.

*/ inline bool StemmingDictionaryHasBeenSet() const { return m_stemmingDictionaryHasBeenSet; } /** *

A JSON object that contains a collection of string:value pairs that each map * a term to its stem. For example, {"term1": "stem1", "term2": "stem2", * "term3": "stem3"}. The stemming dictionary is applied in addition to any * algorithmic stemming. This enables you to override the results of the * algorithmic stemming to correct specific cases of overstemming or understemming. * The maximum size of a stemming dictionary is 500 KB.

*/ inline void SetStemmingDictionary(const Aws::String& value) { m_stemmingDictionaryHasBeenSet = true; m_stemmingDictionary = value; } /** *

A JSON object that contains a collection of string:value pairs that each map * a term to its stem. For example, {"term1": "stem1", "term2": "stem2", * "term3": "stem3"}. The stemming dictionary is applied in addition to any * algorithmic stemming. This enables you to override the results of the * algorithmic stemming to correct specific cases of overstemming or understemming. * The maximum size of a stemming dictionary is 500 KB.

*/ inline void SetStemmingDictionary(Aws::String&& value) { m_stemmingDictionaryHasBeenSet = true; m_stemmingDictionary = std::move(value); } /** *

A JSON object that contains a collection of string:value pairs that each map * a term to its stem. For example, {"term1": "stem1", "term2": "stem2", * "term3": "stem3"}. The stemming dictionary is applied in addition to any * algorithmic stemming. This enables you to override the results of the * algorithmic stemming to correct specific cases of overstemming or understemming. * The maximum size of a stemming dictionary is 500 KB.

*/ inline void SetStemmingDictionary(const char* value) { m_stemmingDictionaryHasBeenSet = true; m_stemmingDictionary.assign(value); } /** *

A JSON object that contains a collection of string:value pairs that each map * a term to its stem. For example, {"term1": "stem1", "term2": "stem2", * "term3": "stem3"}. The stemming dictionary is applied in addition to any * algorithmic stemming. This enables you to override the results of the * algorithmic stemming to correct specific cases of overstemming or understemming. * The maximum size of a stemming dictionary is 500 KB.

*/ inline AnalysisOptions& WithStemmingDictionary(const Aws::String& value) { SetStemmingDictionary(value); return *this;} /** *

A JSON object that contains a collection of string:value pairs that each map * a term to its stem. For example, {"term1": "stem1", "term2": "stem2", * "term3": "stem3"}. The stemming dictionary is applied in addition to any * algorithmic stemming. This enables you to override the results of the * algorithmic stemming to correct specific cases of overstemming or understemming. * The maximum size of a stemming dictionary is 500 KB.

*/ inline AnalysisOptions& WithStemmingDictionary(Aws::String&& value) { SetStemmingDictionary(std::move(value)); return *this;} /** *

A JSON object that contains a collection of string:value pairs that each map * a term to its stem. For example, {"term1": "stem1", "term2": "stem2", * "term3": "stem3"}. The stemming dictionary is applied in addition to any * algorithmic stemming. This enables you to override the results of the * algorithmic stemming to correct specific cases of overstemming or understemming. * The maximum size of a stemming dictionary is 500 KB.

*/ inline AnalysisOptions& WithStemmingDictionary(const char* value) { SetStemmingDictionary(value); return *this;} /** *

A JSON array that contains a collection of terms, tokens, readings and part * of speech for Japanese Tokenizaiton. The Japanese tokenization dictionary * enables you to override the default tokenization for selected terms. This is * only valid for Japanese language fields.

*/ inline const Aws::String& GetJapaneseTokenizationDictionary() const{ return m_japaneseTokenizationDictionary; } /** *

A JSON array that contains a collection of terms, tokens, readings and part * of speech for Japanese Tokenizaiton. The Japanese tokenization dictionary * enables you to override the default tokenization for selected terms. This is * only valid for Japanese language fields.

*/ inline bool JapaneseTokenizationDictionaryHasBeenSet() const { return m_japaneseTokenizationDictionaryHasBeenSet; } /** *

A JSON array that contains a collection of terms, tokens, readings and part * of speech for Japanese Tokenizaiton. The Japanese tokenization dictionary * enables you to override the default tokenization for selected terms. This is * only valid for Japanese language fields.

*/ inline void SetJapaneseTokenizationDictionary(const Aws::String& value) { m_japaneseTokenizationDictionaryHasBeenSet = true; m_japaneseTokenizationDictionary = value; } /** *

A JSON array that contains a collection of terms, tokens, readings and part * of speech for Japanese Tokenizaiton. The Japanese tokenization dictionary * enables you to override the default tokenization for selected terms. This is * only valid for Japanese language fields.

*/ inline void SetJapaneseTokenizationDictionary(Aws::String&& value) { m_japaneseTokenizationDictionaryHasBeenSet = true; m_japaneseTokenizationDictionary = std::move(value); } /** *

A JSON array that contains a collection of terms, tokens, readings and part * of speech for Japanese Tokenizaiton. The Japanese tokenization dictionary * enables you to override the default tokenization for selected terms. This is * only valid for Japanese language fields.

*/ inline void SetJapaneseTokenizationDictionary(const char* value) { m_japaneseTokenizationDictionaryHasBeenSet = true; m_japaneseTokenizationDictionary.assign(value); } /** *

A JSON array that contains a collection of terms, tokens, readings and part * of speech for Japanese Tokenizaiton. The Japanese tokenization dictionary * enables you to override the default tokenization for selected terms. This is * only valid for Japanese language fields.

*/ inline AnalysisOptions& WithJapaneseTokenizationDictionary(const Aws::String& value) { SetJapaneseTokenizationDictionary(value); return *this;} /** *

A JSON array that contains a collection of terms, tokens, readings and part * of speech for Japanese Tokenizaiton. The Japanese tokenization dictionary * enables you to override the default tokenization for selected terms. This is * only valid for Japanese language fields.

*/ inline AnalysisOptions& WithJapaneseTokenizationDictionary(Aws::String&& value) { SetJapaneseTokenizationDictionary(std::move(value)); return *this;} /** *

A JSON array that contains a collection of terms, tokens, readings and part * of speech for Japanese Tokenizaiton. The Japanese tokenization dictionary * enables you to override the default tokenization for selected terms. This is * only valid for Japanese language fields.

*/ inline AnalysisOptions& WithJapaneseTokenizationDictionary(const char* value) { SetJapaneseTokenizationDictionary(value); return *this;} /** *

The level of algorithmic stemming to perform: none, * minimal, light, or full. The available * levels vary depending on the language. For more information, see Language Specific Text Processing Settings in the Amazon * CloudSearch Developer Guide

*/ inline const AlgorithmicStemming& GetAlgorithmicStemming() const{ return m_algorithmicStemming; } /** *

The level of algorithmic stemming to perform: none, * minimal, light, or full. The available * levels vary depending on the language. For more information, see Language Specific Text Processing Settings in the Amazon * CloudSearch Developer Guide

*/ inline bool AlgorithmicStemmingHasBeenSet() const { return m_algorithmicStemmingHasBeenSet; } /** *

The level of algorithmic stemming to perform: none, * minimal, light, or full. The available * levels vary depending on the language. For more information, see Language Specific Text Processing Settings in the Amazon * CloudSearch Developer Guide

*/ inline void SetAlgorithmicStemming(const AlgorithmicStemming& value) { m_algorithmicStemmingHasBeenSet = true; m_algorithmicStemming = value; } /** *

The level of algorithmic stemming to perform: none, * minimal, light, or full. The available * levels vary depending on the language. For more information, see Language Specific Text Processing Settings in the Amazon * CloudSearch Developer Guide

*/ inline void SetAlgorithmicStemming(AlgorithmicStemming&& value) { m_algorithmicStemmingHasBeenSet = true; m_algorithmicStemming = std::move(value); } /** *

The level of algorithmic stemming to perform: none, * minimal, light, or full. The available * levels vary depending on the language. For more information, see Language Specific Text Processing Settings in the Amazon * CloudSearch Developer Guide

*/ inline AnalysisOptions& WithAlgorithmicStemming(const AlgorithmicStemming& value) { SetAlgorithmicStemming(value); return *this;} /** *

The level of algorithmic stemming to perform: none, * minimal, light, or full. The available * levels vary depending on the language. For more information, see Language Specific Text Processing Settings in the Amazon * CloudSearch Developer Guide

*/ inline AnalysisOptions& WithAlgorithmicStemming(AlgorithmicStemming&& value) { SetAlgorithmicStemming(std::move(value)); return *this;} private: Aws::String m_synonyms; bool m_synonymsHasBeenSet = false; Aws::String m_stopwords; bool m_stopwordsHasBeenSet = false; Aws::String m_stemmingDictionary; bool m_stemmingDictionaryHasBeenSet = false; Aws::String m_japaneseTokenizationDictionary; bool m_japaneseTokenizationDictionaryHasBeenSet = false; AlgorithmicStemming m_algorithmicStemming; bool m_algorithmicStemmingHasBeenSet = false; }; } // namespace Model } // namespace CloudSearch } // namespace Aws