put_data_frame.asciidoc 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. --
  2. :api: put-data-frame-transform
  3. :request: PutDataFrameTransformRequest
  4. :response: AcknowledgedResponse
  5. --
  6. [id="{upid}-{api}"]
  7. === Put Data Frame Transform API
  8. The Put Data Frame Transform API is used to create a new {dataframe-transform}.
  9. The API accepts a +{request}+ object as a request and returns a +{response}+.
  10. [id="{upid}-{api}-request"]
  11. ==== Put Data Frame Request
  12. A +{request}+ requires the following argument:
  13. ["source","java",subs="attributes,callouts,macros"]
  14. --------------------------------------------------
  15. include-tagged::{doc-tests-file}[{api}-request]
  16. --------------------------------------------------
  17. <1> The configuration of the {dataframe-job} to create
  18. [id="{upid}-{api}-config"]
  19. ==== Data Frame Transform Configuration
  20. The `DataFrameTransformConfig` object contains all the details about the {dataframe-transform}
  21. configuration and contains the following arguments:
  22. ["source","java",subs="attributes,callouts,macros"]
  23. --------------------------------------------------
  24. include-tagged::{doc-tests-file}[{api}-config]
  25. --------------------------------------------------
  26. <1> The {dataframe-transform} ID
  27. <2> The source index or index pattern
  28. <3> The destination index
  29. <4> Optionally a QueryConfig
  30. <5> The PivotConfig
  31. [id="{upid}-{api}-query-config"]
  32. ==== QueryConfig
  33. The query with which to select data from the source.
  34. If not set a `match_all` query is used by default.
  35. ["source","java",subs="attributes,callouts,macros"]
  36. --------------------------------------------------
  37. include-tagged::{doc-tests-file}[{api}-query-config]
  38. --------------------------------------------------
  39. ==== PivotConfig
  40. Defines the pivot function `group by` fields and the aggregation to reduce the data.
  41. ["source","java",subs="attributes,callouts,macros"]
  42. --------------------------------------------------
  43. include-tagged::{doc-tests-file}[{api}-pivot-config]
  44. --------------------------------------------------
  45. ===== GroupConfig
  46. The grouping terms. Defines the group by and destination fields
  47. which are produced by the pivot function. There are 3 types of
  48. groups
  49. * Terms
  50. * Histogram
  51. * Date Histogram
  52. ["source","java",subs="attributes,callouts,macros"]
  53. --------------------------------------------------
  54. include-tagged::{doc-tests-file}[{api}-group-config]
  55. --------------------------------------------------
  56. <1> The destination field
  57. <2> Group by values of the `user_id` field
  58. ===== AggregationConfig
  59. Defines the aggregations for the group fields.
  60. // TODO link to the supported aggregations
  61. ["source","java",subs="attributes,callouts,macros"]
  62. --------------------------------------------------
  63. include-tagged::{doc-tests-file}[{api}-agg-config]
  64. --------------------------------------------------
  65. <1> Aggregate the average star rating
  66. include::../execution.asciidoc[]
  67. [id="{upid}-{api}-response"]
  68. ==== Response
  69. The returned +{response}+ acknowledges the successful creation of
  70. the new {dataframe-transform} or an error if the configuration is invalid.