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

The statistics for a field calculated in the request.

See * Also:

AWS * API Reference

*/ class FieldStats { public: AWS_CLOUDSEARCHDOMAIN_API FieldStats(); AWS_CLOUDSEARCHDOMAIN_API FieldStats(Aws::Utils::Json::JsonView jsonValue); AWS_CLOUDSEARCHDOMAIN_API FieldStats& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CLOUDSEARCHDOMAIN_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The minimum value found in the specified field in the result set.

If * the field is numeric (int, int-array, * double, or double-array), min is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, min is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline const Aws::String& GetMin() const{ return m_min; } /** *

The minimum value found in the specified field in the result set.

If * the field is numeric (int, int-array, * double, or double-array), min is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, min is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline bool MinHasBeenSet() const { return m_minHasBeenSet; } /** *

The minimum value found in the specified field in the result set.

If * the field is numeric (int, int-array, * double, or double-array), min is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, min is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline void SetMin(const Aws::String& value) { m_minHasBeenSet = true; m_min = value; } /** *

The minimum value found in the specified field in the result set.

If * the field is numeric (int, int-array, * double, or double-array), min is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, min is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline void SetMin(Aws::String&& value) { m_minHasBeenSet = true; m_min = std::move(value); } /** *

The minimum value found in the specified field in the result set.

If * the field is numeric (int, int-array, * double, or double-array), min is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, min is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline void SetMin(const char* value) { m_minHasBeenSet = true; m_min.assign(value); } /** *

The minimum value found in the specified field in the result set.

If * the field is numeric (int, int-array, * double, or double-array), min is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, min is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline FieldStats& WithMin(const Aws::String& value) { SetMin(value); return *this;} /** *

The minimum value found in the specified field in the result set.

If * the field is numeric (int, int-array, * double, or double-array), min is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, min is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline FieldStats& WithMin(Aws::String&& value) { SetMin(std::move(value)); return *this;} /** *

The minimum value found in the specified field in the result set.

If * the field is numeric (int, int-array, * double, or double-array), min is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, min is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline FieldStats& WithMin(const char* value) { SetMin(value); return *this;} /** *

The maximum value found in the specified field in the result set.

If * the field is numeric (int, int-array, * double, or double-array), max is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, max is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline const Aws::String& GetMax() const{ return m_max; } /** *

The maximum value found in the specified field in the result set.

If * the field is numeric (int, int-array, * double, or double-array), max is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, max is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline bool MaxHasBeenSet() const { return m_maxHasBeenSet; } /** *

The maximum value found in the specified field in the result set.

If * the field is numeric (int, int-array, * double, or double-array), max is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, max is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline void SetMax(const Aws::String& value) { m_maxHasBeenSet = true; m_max = value; } /** *

The maximum value found in the specified field in the result set.

If * the field is numeric (int, int-array, * double, or double-array), max is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, max is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline void SetMax(Aws::String&& value) { m_maxHasBeenSet = true; m_max = std::move(value); } /** *

The maximum value found in the specified field in the result set.

If * the field is numeric (int, int-array, * double, or double-array), max is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, max is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline void SetMax(const char* value) { m_maxHasBeenSet = true; m_max.assign(value); } /** *

The maximum value found in the specified field in the result set.

If * the field is numeric (int, int-array, * double, or double-array), max is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, max is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline FieldStats& WithMax(const Aws::String& value) { SetMax(value); return *this;} /** *

The maximum value found in the specified field in the result set.

If * the field is numeric (int, int-array, * double, or double-array), max is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, max is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline FieldStats& WithMax(Aws::String&& value) { SetMax(std::move(value)); return *this;} /** *

The maximum value found in the specified field in the result set.

If * the field is numeric (int, int-array, * double, or double-array), max is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, max is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline FieldStats& WithMax(const char* value) { SetMax(value); return *this;} /** *

The number of documents that contain a value in the specified field in the * result set.

*/ inline long long GetCount() const{ return m_count; } /** *

The number of documents that contain a value in the specified field in the * result set.

*/ inline bool CountHasBeenSet() const { return m_countHasBeenSet; } /** *

The number of documents that contain a value in the specified field in the * result set.

*/ inline void SetCount(long long value) { m_countHasBeenSet = true; m_count = value; } /** *

The number of documents that contain a value in the specified field in the * result set.

*/ inline FieldStats& WithCount(long long value) { SetCount(value); return *this;} /** *

The number of documents that do not contain a value in the specified field in * the result set.

*/ inline long long GetMissing() const{ return m_missing; } /** *

The number of documents that do not contain a value in the specified field in * the result set.

*/ inline bool MissingHasBeenSet() const { return m_missingHasBeenSet; } /** *

The number of documents that do not contain a value in the specified field in * the result set.

*/ inline void SetMissing(long long value) { m_missingHasBeenSet = true; m_missing = value; } /** *

The number of documents that do not contain a value in the specified field in * the result set.

*/ inline FieldStats& WithMissing(long long value) { SetMissing(value); return *this;} /** *

The sum of the field values across the documents in the result set. * null for date fields.

*/ inline double GetSum() const{ return m_sum; } /** *

The sum of the field values across the documents in the result set. * null for date fields.

*/ inline bool SumHasBeenSet() const { return m_sumHasBeenSet; } /** *

The sum of the field values across the documents in the result set. * null for date fields.

*/ inline void SetSum(double value) { m_sumHasBeenSet = true; m_sum = value; } /** *

The sum of the field values across the documents in the result set. * null for date fields.

*/ inline FieldStats& WithSum(double value) { SetSum(value); return *this;} /** *

The sum of all field values in the result set squared.

*/ inline double GetSumOfSquares() const{ return m_sumOfSquares; } /** *

The sum of all field values in the result set squared.

*/ inline bool SumOfSquaresHasBeenSet() const { return m_sumOfSquaresHasBeenSet; } /** *

The sum of all field values in the result set squared.

*/ inline void SetSumOfSquares(double value) { m_sumOfSquaresHasBeenSet = true; m_sumOfSquares = value; } /** *

The sum of all field values in the result set squared.

*/ inline FieldStats& WithSumOfSquares(double value) { SetSumOfSquares(value); return *this;} /** *

The average of the values found in the specified field in the result set.

*

If the field is numeric (int, int-array, * double, or double-array), mean is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, mean is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline const Aws::String& GetMean() const{ return m_mean; } /** *

The average of the values found in the specified field in the result set.

*

If the field is numeric (int, int-array, * double, or double-array), mean is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, mean is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline bool MeanHasBeenSet() const { return m_meanHasBeenSet; } /** *

The average of the values found in the specified field in the result set.

*

If the field is numeric (int, int-array, * double, or double-array), mean is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, mean is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline void SetMean(const Aws::String& value) { m_meanHasBeenSet = true; m_mean = value; } /** *

The average of the values found in the specified field in the result set.

*

If the field is numeric (int, int-array, * double, or double-array), mean is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, mean is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline void SetMean(Aws::String&& value) { m_meanHasBeenSet = true; m_mean = std::move(value); } /** *

The average of the values found in the specified field in the result set.

*

If the field is numeric (int, int-array, * double, or double-array), mean is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, mean is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline void SetMean(const char* value) { m_meanHasBeenSet = true; m_mean.assign(value); } /** *

The average of the values found in the specified field in the result set.

*

If the field is numeric (int, int-array, * double, or double-array), mean is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, mean is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline FieldStats& WithMean(const Aws::String& value) { SetMean(value); return *this;} /** *

The average of the values found in the specified field in the result set.

*

If the field is numeric (int, int-array, * double, or double-array), mean is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, mean is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline FieldStats& WithMean(Aws::String&& value) { SetMean(std::move(value)); return *this;} /** *

The average of the values found in the specified field in the result set.

*

If the field is numeric (int, int-array, * double, or double-array), mean is the * string representation of a double-precision 64-bit floating point value. If the * field is date or date-array, mean is the * string representation of a date with the format specified in IETF RFC3339: * yyyy-mm-ddTHH:mm:ss.SSSZ.

*/ inline FieldStats& WithMean(const char* value) { SetMean(value); return *this;} /** *

The standard deviation of the values in the specified field in the result * set.

*/ inline double GetStddev() const{ return m_stddev; } /** *

The standard deviation of the values in the specified field in the result * set.

*/ inline bool StddevHasBeenSet() const { return m_stddevHasBeenSet; } /** *

The standard deviation of the values in the specified field in the result * set.

*/ inline void SetStddev(double value) { m_stddevHasBeenSet = true; m_stddev = value; } /** *

The standard deviation of the values in the specified field in the result * set.

*/ inline FieldStats& WithStddev(double value) { SetStddev(value); return *this;} private: Aws::String m_min; bool m_minHasBeenSet = false; Aws::String m_max; bool m_maxHasBeenSet = false; long long m_count; bool m_countHasBeenSet = false; long long m_missing; bool m_missingHasBeenSet = false; double m_sum; bool m_sumHasBeenSet = false; double m_sumOfSquares; bool m_sumOfSquaresHasBeenSet = false; Aws::String m_mean; bool m_meanHasBeenSet = false; double m_stddev; bool m_stddevHasBeenSet = false; }; } // namespace Model } // namespace CloudSearchDomain } // namespace Aws