/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace kendra { namespace Model { /** */ class UpdateQuerySuggestionsConfigRequest : public KendraRequest { public: AWS_KENDRA_API UpdateQuerySuggestionsConfigRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateQuerySuggestionsConfig"; } AWS_KENDRA_API Aws::String SerializePayload() const override; AWS_KENDRA_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The identifier of the index with query suggestions you want to update.

*/ inline const Aws::String& GetIndexId() const{ return m_indexId; } /** *

The identifier of the index with query suggestions you want to update.

*/ inline bool IndexIdHasBeenSet() const { return m_indexIdHasBeenSet; } /** *

The identifier of the index with query suggestions you want to update.

*/ inline void SetIndexId(const Aws::String& value) { m_indexIdHasBeenSet = true; m_indexId = value; } /** *

The identifier of the index with query suggestions you want to update.

*/ inline void SetIndexId(Aws::String&& value) { m_indexIdHasBeenSet = true; m_indexId = std::move(value); } /** *

The identifier of the index with query suggestions you want to update.

*/ inline void SetIndexId(const char* value) { m_indexIdHasBeenSet = true; m_indexId.assign(value); } /** *

The identifier of the index with query suggestions you want to update.

*/ inline UpdateQuerySuggestionsConfigRequest& WithIndexId(const Aws::String& value) { SetIndexId(value); return *this;} /** *

The identifier of the index with query suggestions you want to update.

*/ inline UpdateQuerySuggestionsConfigRequest& WithIndexId(Aws::String&& value) { SetIndexId(std::move(value)); return *this;} /** *

The identifier of the index with query suggestions you want to update.

*/ inline UpdateQuerySuggestionsConfigRequest& WithIndexId(const char* value) { SetIndexId(value); return *this;} /** *

Set the mode to ENABLED or LEARN_ONLY.

By * default, Amazon Kendra enables query suggestions. LEARN_ONLY mode * allows you to turn off query suggestions. You can to update this at any * time.

In LEARN_ONLY mode, Amazon Kendra continues to learn * from new queries to keep suggestions up to date for when you are ready to switch * to ENABLED mode again.

*/ inline const Mode& GetMode() const{ return m_mode; } /** *

Set the mode to ENABLED or LEARN_ONLY.

By * default, Amazon Kendra enables query suggestions. LEARN_ONLY mode * allows you to turn off query suggestions. You can to update this at any * time.

In LEARN_ONLY mode, Amazon Kendra continues to learn * from new queries to keep suggestions up to date for when you are ready to switch * to ENABLED mode again.

*/ inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; } /** *

Set the mode to ENABLED or LEARN_ONLY.

By * default, Amazon Kendra enables query suggestions. LEARN_ONLY mode * allows you to turn off query suggestions. You can to update this at any * time.

In LEARN_ONLY mode, Amazon Kendra continues to learn * from new queries to keep suggestions up to date for when you are ready to switch * to ENABLED mode again.

*/ inline void SetMode(const Mode& value) { m_modeHasBeenSet = true; m_mode = value; } /** *

Set the mode to ENABLED or LEARN_ONLY.

By * default, Amazon Kendra enables query suggestions. LEARN_ONLY mode * allows you to turn off query suggestions. You can to update this at any * time.

In LEARN_ONLY mode, Amazon Kendra continues to learn * from new queries to keep suggestions up to date for when you are ready to switch * to ENABLED mode again.

*/ inline void SetMode(Mode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); } /** *

Set the mode to ENABLED or LEARN_ONLY.

By * default, Amazon Kendra enables query suggestions. LEARN_ONLY mode * allows you to turn off query suggestions. You can to update this at any * time.

In LEARN_ONLY mode, Amazon Kendra continues to learn * from new queries to keep suggestions up to date for when you are ready to switch * to ENABLED mode again.

*/ inline UpdateQuerySuggestionsConfigRequest& WithMode(const Mode& value) { SetMode(value); return *this;} /** *

Set the mode to ENABLED or LEARN_ONLY.

By * default, Amazon Kendra enables query suggestions. LEARN_ONLY mode * allows you to turn off query suggestions. You can to update this at any * time.

In LEARN_ONLY mode, Amazon Kendra continues to learn * from new queries to keep suggestions up to date for when you are ready to switch * to ENABLED mode again.

*/ inline UpdateQuerySuggestionsConfigRequest& WithMode(Mode&& value) { SetMode(std::move(value)); return *this;} /** *

How recent your queries are in your query log time window.

The time * window is the number of days from current day to past days.

By default, * Amazon Kendra sets this to 180.

*/ inline int GetQueryLogLookBackWindowInDays() const{ return m_queryLogLookBackWindowInDays; } /** *

How recent your queries are in your query log time window.

The time * window is the number of days from current day to past days.

By default, * Amazon Kendra sets this to 180.

*/ inline bool QueryLogLookBackWindowInDaysHasBeenSet() const { return m_queryLogLookBackWindowInDaysHasBeenSet; } /** *

How recent your queries are in your query log time window.

The time * window is the number of days from current day to past days.

By default, * Amazon Kendra sets this to 180.

*/ inline void SetQueryLogLookBackWindowInDays(int value) { m_queryLogLookBackWindowInDaysHasBeenSet = true; m_queryLogLookBackWindowInDays = value; } /** *

How recent your queries are in your query log time window.

The time * window is the number of days from current day to past days.

By default, * Amazon Kendra sets this to 180.

*/ inline UpdateQuerySuggestionsConfigRequest& WithQueryLogLookBackWindowInDays(int value) { SetQueryLogLookBackWindowInDays(value); return *this;} /** *

TRUE to include queries without user information (i.e. all * queries, irrespective of the user), otherwise FALSE to only include * queries with user information.

If you pass user information to Amazon * Kendra along with the queries, you can set this flag to FALSE and * instruct Amazon Kendra to only consider queries with user information.

If * you set to FALSE, Amazon Kendra only considers queries searched at * least MinimumQueryCount times across * MinimumNumberOfQueryingUsers unique users for suggestions.

*

If you set to TRUE, Amazon Kendra ignores all user information * and learns from all queries.

*/ inline bool GetIncludeQueriesWithoutUserInformation() const{ return m_includeQueriesWithoutUserInformation; } /** *

TRUE to include queries without user information (i.e. all * queries, irrespective of the user), otherwise FALSE to only include * queries with user information.

If you pass user information to Amazon * Kendra along with the queries, you can set this flag to FALSE and * instruct Amazon Kendra to only consider queries with user information.

If * you set to FALSE, Amazon Kendra only considers queries searched at * least MinimumQueryCount times across * MinimumNumberOfQueryingUsers unique users for suggestions.

*

If you set to TRUE, Amazon Kendra ignores all user information * and learns from all queries.

*/ inline bool IncludeQueriesWithoutUserInformationHasBeenSet() const { return m_includeQueriesWithoutUserInformationHasBeenSet; } /** *

TRUE to include queries without user information (i.e. all * queries, irrespective of the user), otherwise FALSE to only include * queries with user information.

If you pass user information to Amazon * Kendra along with the queries, you can set this flag to FALSE and * instruct Amazon Kendra to only consider queries with user information.

If * you set to FALSE, Amazon Kendra only considers queries searched at * least MinimumQueryCount times across * MinimumNumberOfQueryingUsers unique users for suggestions.

*

If you set to TRUE, Amazon Kendra ignores all user information * and learns from all queries.

*/ inline void SetIncludeQueriesWithoutUserInformation(bool value) { m_includeQueriesWithoutUserInformationHasBeenSet = true; m_includeQueriesWithoutUserInformation = value; } /** *

TRUE to include queries without user information (i.e. all * queries, irrespective of the user), otherwise FALSE to only include * queries with user information.

If you pass user information to Amazon * Kendra along with the queries, you can set this flag to FALSE and * instruct Amazon Kendra to only consider queries with user information.

If * you set to FALSE, Amazon Kendra only considers queries searched at * least MinimumQueryCount times across * MinimumNumberOfQueryingUsers unique users for suggestions.

*

If you set to TRUE, Amazon Kendra ignores all user information * and learns from all queries.

*/ inline UpdateQuerySuggestionsConfigRequest& WithIncludeQueriesWithoutUserInformation(bool value) { SetIncludeQueriesWithoutUserInformation(value); return *this;} /** *

The minimum number of unique users who must search a query in order for the * query to be eligible to suggest to your users.

Increasing this number * might decrease the number of suggestions. However, this ensures a query is * searched by many users and is truly popular to suggest to users.

How you * tune this setting depends on your specific needs.

*/ inline int GetMinimumNumberOfQueryingUsers() const{ return m_minimumNumberOfQueryingUsers; } /** *

The minimum number of unique users who must search a query in order for the * query to be eligible to suggest to your users.

Increasing this number * might decrease the number of suggestions. However, this ensures a query is * searched by many users and is truly popular to suggest to users.

How you * tune this setting depends on your specific needs.

*/ inline bool MinimumNumberOfQueryingUsersHasBeenSet() const { return m_minimumNumberOfQueryingUsersHasBeenSet; } /** *

The minimum number of unique users who must search a query in order for the * query to be eligible to suggest to your users.

Increasing this number * might decrease the number of suggestions. However, this ensures a query is * searched by many users and is truly popular to suggest to users.

How you * tune this setting depends on your specific needs.

*/ inline void SetMinimumNumberOfQueryingUsers(int value) { m_minimumNumberOfQueryingUsersHasBeenSet = true; m_minimumNumberOfQueryingUsers = value; } /** *

The minimum number of unique users who must search a query in order for the * query to be eligible to suggest to your users.

Increasing this number * might decrease the number of suggestions. However, this ensures a query is * searched by many users and is truly popular to suggest to users.

How you * tune this setting depends on your specific needs.

*/ inline UpdateQuerySuggestionsConfigRequest& WithMinimumNumberOfQueryingUsers(int value) { SetMinimumNumberOfQueryingUsers(value); return *this;} /** *

The the minimum number of times a query must be searched in order to be * eligible to suggest to your users.

Decreasing this number increases the * number of suggestions. However, this affects the quality of suggestions as it * sets a low bar for a query to be considered popular to suggest to users.

*

How you tune this setting depends on your specific needs.

*/ inline int GetMinimumQueryCount() const{ return m_minimumQueryCount; } /** *

The the minimum number of times a query must be searched in order to be * eligible to suggest to your users.

Decreasing this number increases the * number of suggestions. However, this affects the quality of suggestions as it * sets a low bar for a query to be considered popular to suggest to users.

*

How you tune this setting depends on your specific needs.

*/ inline bool MinimumQueryCountHasBeenSet() const { return m_minimumQueryCountHasBeenSet; } /** *

The the minimum number of times a query must be searched in order to be * eligible to suggest to your users.

Decreasing this number increases the * number of suggestions. However, this affects the quality of suggestions as it * sets a low bar for a query to be considered popular to suggest to users.

*

How you tune this setting depends on your specific needs.

*/ inline void SetMinimumQueryCount(int value) { m_minimumQueryCountHasBeenSet = true; m_minimumQueryCount = value; } /** *

The the minimum number of times a query must be searched in order to be * eligible to suggest to your users.

Decreasing this number increases the * number of suggestions. However, this affects the quality of suggestions as it * sets a low bar for a query to be considered popular to suggest to users.

*

How you tune this setting depends on your specific needs.

*/ inline UpdateQuerySuggestionsConfigRequest& WithMinimumQueryCount(int value) { SetMinimumQueryCount(value); return *this;} /** *

Configuration information for the document fields/attributes that you want to * base query suggestions on.

*/ inline const AttributeSuggestionsUpdateConfig& GetAttributeSuggestionsConfig() const{ return m_attributeSuggestionsConfig; } /** *

Configuration information for the document fields/attributes that you want to * base query suggestions on.

*/ inline bool AttributeSuggestionsConfigHasBeenSet() const { return m_attributeSuggestionsConfigHasBeenSet; } /** *

Configuration information for the document fields/attributes that you want to * base query suggestions on.

*/ inline void SetAttributeSuggestionsConfig(const AttributeSuggestionsUpdateConfig& value) { m_attributeSuggestionsConfigHasBeenSet = true; m_attributeSuggestionsConfig = value; } /** *

Configuration information for the document fields/attributes that you want to * base query suggestions on.

*/ inline void SetAttributeSuggestionsConfig(AttributeSuggestionsUpdateConfig&& value) { m_attributeSuggestionsConfigHasBeenSet = true; m_attributeSuggestionsConfig = std::move(value); } /** *

Configuration information for the document fields/attributes that you want to * base query suggestions on.

*/ inline UpdateQuerySuggestionsConfigRequest& WithAttributeSuggestionsConfig(const AttributeSuggestionsUpdateConfig& value) { SetAttributeSuggestionsConfig(value); return *this;} /** *

Configuration information for the document fields/attributes that you want to * base query suggestions on.

*/ inline UpdateQuerySuggestionsConfigRequest& WithAttributeSuggestionsConfig(AttributeSuggestionsUpdateConfig&& value) { SetAttributeSuggestionsConfig(std::move(value)); return *this;} private: Aws::String m_indexId; bool m_indexIdHasBeenSet = false; Mode m_mode; bool m_modeHasBeenSet = false; int m_queryLogLookBackWindowInDays; bool m_queryLogLookBackWindowInDaysHasBeenSet = false; bool m_includeQueriesWithoutUserInformation; bool m_includeQueriesWithoutUserInformationHasBeenSet = false; int m_minimumNumberOfQueryingUsers; bool m_minimumNumberOfQueryingUsersHasBeenSet = false; int m_minimumQueryCount; bool m_minimumQueryCountHasBeenSet = false; AttributeSuggestionsUpdateConfig m_attributeSuggestionsConfig; bool m_attributeSuggestionsConfigHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws