/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Information about a document attribute. You can use document attributes as
* facets. For example, the document attribute or facet "Department"
* includes the values "HR", "Engineering", and "Accounting". You can display these
* values in the search results so that documents can be searched by
* department. You can display up to 10 facet values per facet for a query.
* If you want to increase this limit, contact Support.See Also:
* AWS API
* Reference
The unique key for the document attribute.
*/ inline const Aws::String& GetDocumentAttributeKey() const{ return m_documentAttributeKey; } /** *The unique key for the document attribute.
*/ inline bool DocumentAttributeKeyHasBeenSet() const { return m_documentAttributeKeyHasBeenSet; } /** *The unique key for the document attribute.
*/ inline void SetDocumentAttributeKey(const Aws::String& value) { m_documentAttributeKeyHasBeenSet = true; m_documentAttributeKey = value; } /** *The unique key for the document attribute.
*/ inline void SetDocumentAttributeKey(Aws::String&& value) { m_documentAttributeKeyHasBeenSet = true; m_documentAttributeKey = std::move(value); } /** *The unique key for the document attribute.
*/ inline void SetDocumentAttributeKey(const char* value) { m_documentAttributeKeyHasBeenSet = true; m_documentAttributeKey.assign(value); } /** *The unique key for the document attribute.
*/ inline Facet& WithDocumentAttributeKey(const Aws::String& value) { SetDocumentAttributeKey(value); return *this;} /** *The unique key for the document attribute.
*/ inline Facet& WithDocumentAttributeKey(Aws::String&& value) { SetDocumentAttributeKey(std::move(value)); return *this;} /** *The unique key for the document attribute.
*/ inline Facet& WithDocumentAttributeKey(const char* value) { SetDocumentAttributeKey(value); return *this;} /** *An array of document attributes that are nested facets within a facet.
*For example, the document attribute or facet "Department" includes a value * called "Engineering". In addition, the document attribute or facet * "SubDepartment" includes the values "Frontend" and "Backend" for documents * assigned to "Engineering". You can display nested facets in the search results * so that documents can be searched not only by department but also by a sub * department within a department. This helps your users further narrow their * search.
You can only have one nested facet within a facet. If you want to * increase this limit, contact Support.
*/ inline const Aws::VectorAn array of document attributes that are nested facets within a facet.
*For example, the document attribute or facet "Department" includes a value * called "Engineering". In addition, the document attribute or facet * "SubDepartment" includes the values "Frontend" and "Backend" for documents * assigned to "Engineering". You can display nested facets in the search results * so that documents can be searched not only by department but also by a sub * department within a department. This helps your users further narrow their * search.
You can only have one nested facet within a facet. If you want to * increase this limit, contact Support.
*/ inline bool FacetsHasBeenSet() const { return m_facetsHasBeenSet; } /** *An array of document attributes that are nested facets within a facet.
*For example, the document attribute or facet "Department" includes a value * called "Engineering". In addition, the document attribute or facet * "SubDepartment" includes the values "Frontend" and "Backend" for documents * assigned to "Engineering". You can display nested facets in the search results * so that documents can be searched not only by department but also by a sub * department within a department. This helps your users further narrow their * search.
You can only have one nested facet within a facet. If you want to * increase this limit, contact Support.
*/ inline void SetFacets(const Aws::VectorAn array of document attributes that are nested facets within a facet.
*For example, the document attribute or facet "Department" includes a value * called "Engineering". In addition, the document attribute or facet * "SubDepartment" includes the values "Frontend" and "Backend" for documents * assigned to "Engineering". You can display nested facets in the search results * so that documents can be searched not only by department but also by a sub * department within a department. This helps your users further narrow their * search.
You can only have one nested facet within a facet. If you want to * increase this limit, contact Support.
*/ inline void SetFacets(Aws::VectorAn array of document attributes that are nested facets within a facet.
*For example, the document attribute or facet "Department" includes a value * called "Engineering". In addition, the document attribute or facet * "SubDepartment" includes the values "Frontend" and "Backend" for documents * assigned to "Engineering". You can display nested facets in the search results * so that documents can be searched not only by department but also by a sub * department within a department. This helps your users further narrow their * search.
You can only have one nested facet within a facet. If you want to * increase this limit, contact Support.
*/ inline Facet& WithFacets(const Aws::VectorAn array of document attributes that are nested facets within a facet.
*For example, the document attribute or facet "Department" includes a value * called "Engineering". In addition, the document attribute or facet * "SubDepartment" includes the values "Frontend" and "Backend" for documents * assigned to "Engineering". You can display nested facets in the search results * so that documents can be searched not only by department but also by a sub * department within a department. This helps your users further narrow their * search.
You can only have one nested facet within a facet. If you want to * increase this limit, contact Support.
*/ inline Facet& WithFacets(Aws::VectorAn array of document attributes that are nested facets within a facet.
*For example, the document attribute or facet "Department" includes a value * called "Engineering". In addition, the document attribute or facet * "SubDepartment" includes the values "Frontend" and "Backend" for documents * assigned to "Engineering". You can display nested facets in the search results * so that documents can be searched not only by department but also by a sub * department within a department. This helps your users further narrow their * search.
You can only have one nested facet within a facet. If you want to * increase this limit, contact Support.
*/ inline Facet& AddFacets(const Facet& value) { m_facetsHasBeenSet = true; m_facets.push_back(value); return *this; } /** *An array of document attributes that are nested facets within a facet.
*For example, the document attribute or facet "Department" includes a value * called "Engineering". In addition, the document attribute or facet * "SubDepartment" includes the values "Frontend" and "Backend" for documents * assigned to "Engineering". You can display nested facets in the search results * so that documents can be searched not only by department but also by a sub * department within a department. This helps your users further narrow their * search.
You can only have one nested facet within a facet. If you want to * increase this limit, contact Support.
*/ inline Facet& AddFacets(Facet&& value) { m_facetsHasBeenSet = true; m_facets.push_back(std::move(value)); return *this; } /** *Maximum number of facet values per facet. The default is 10. You can use this * to limit the number of facet values to less than 10. If you want to increase the * default, contact Support.
*/ inline int GetMaxResults() const{ return m_maxResults; } /** *Maximum number of facet values per facet. The default is 10. You can use this * to limit the number of facet values to less than 10. If you want to increase the * default, contact Support.
*/ inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } /** *Maximum number of facet values per facet. The default is 10. You can use this * to limit the number of facet values to less than 10. If you want to increase the * default, contact Support.
*/ inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } /** *Maximum number of facet values per facet. The default is 10. You can use this * to limit the number of facet values to less than 10. If you want to increase the * default, contact Support.
*/ inline Facet& WithMaxResults(int value) { SetMaxResults(value); return *this;} private: Aws::String m_documentAttributeKey; bool m_documentAttributeKeyHasBeenSet = false; Aws::Vector