Skip to content

Commit 44cbf67

Browse files
Handle lists in copy_to field option correctly (Fixes #2992) (#2993)
* Handle lists in `copy_to` field option correctly (Fixes #2992) * add integration test
1 parent 724e253 commit 44cbf67

File tree

8 files changed

+519
-54
lines changed

8 files changed

+519
-54
lines changed

elasticsearch/dsl/aggs.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,12 @@ class Boxplot(Agg[_R]):
373373
:arg compression: Limits the maximum number of nodes used by the
374374
underlying TDigest algorithm to `20 * compression`, enabling
375375
control of memory usage and approximation error.
376+
:arg execution_hint: The default implementation of TDigest is
377+
optimized for performance, scaling to millions or even billions of
378+
sample values while maintaining acceptable accuracy levels (close
379+
to 1% relative error for millions of samples in some cases). To
380+
use an implementation optimized for accuracy, set this parameter
381+
to high_accuracy instead. Defaults to `default` if omitted.
376382
:arg field: The field on which to run the aggregation.
377383
:arg missing: The value to apply to documents that do not have a
378384
value. By default, documents without a value are ignored.
@@ -385,13 +391,17 @@ def __init__(
385391
self,
386392
*,
387393
compression: Union[float, "DefaultType"] = DEFAULT,
394+
execution_hint: Union[
395+
Literal["default", "high_accuracy"], "DefaultType"
396+
] = DEFAULT,
388397
field: Union[str, "InstrumentedField", "DefaultType"] = DEFAULT,
389398
missing: Union[str, int, float, bool, "DefaultType"] = DEFAULT,
390399
script: Union["types.Script", Dict[str, Any], "DefaultType"] = DEFAULT,
391400
**kwargs: Any,
392401
):
393402
super().__init__(
394403
compression=compression,
404+
execution_hint=execution_hint,
395405
field=field,
396406
missing=missing,
397407
script=script,
@@ -1900,6 +1910,12 @@ class MedianAbsoluteDeviation(Agg[_R]):
19001910
underlying TDigest algorithm to `20 * compression`, enabling
19011911
control of memory usage and approximation error. Defaults to
19021912
`1000` if omitted.
1913+
:arg execution_hint: The default implementation of TDigest is
1914+
optimized for performance, scaling to millions or even billions of
1915+
sample values while maintaining acceptable accuracy levels (close
1916+
to 1% relative error for millions of samples in some cases). To
1917+
use an implementation optimized for accuracy, set this parameter
1918+
to high_accuracy instead. Defaults to `default` if omitted.
19031919
:arg format:
19041920
:arg field: The field on which to run the aggregation.
19051921
:arg missing: The value to apply to documents that do not have a
@@ -1913,6 +1929,9 @@ def __init__(
19131929
self,
19141930
*,
19151931
compression: Union[float, "DefaultType"] = DEFAULT,
1932+
execution_hint: Union[
1933+
Literal["default", "high_accuracy"], "DefaultType"
1934+
] = DEFAULT,
19161935
format: Union[str, "DefaultType"] = DEFAULT,
19171936
field: Union[str, "InstrumentedField", "DefaultType"] = DEFAULT,
19181937
missing: Union[str, int, float, bool, "DefaultType"] = DEFAULT,
@@ -1921,6 +1940,7 @@ def __init__(
19211940
):
19221941
super().__init__(
19231942
compression=compression,
1943+
execution_hint=execution_hint,
19241944
format=format,
19251945
field=field,
19261946
missing=missing,

0 commit comments

Comments
 (0)