esql-limitations.asciidoc 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. [[esql-limitations]]
  2. == {esql} limitations
  3. ++++
  4. <titleabbrev>Limitations</titleabbrev>
  5. ++++
  6. [discrete]
  7. [[esql-max-rows]]
  8. === Result set size limit
  9. By default, an {esql} query returns up to 500 rows. You can increase the number
  10. of rows up to 10,000 using the <<esql-limit>> command.
  11. include::processing-commands/limit.asciidoc[tag=limitation]
  12. [discrete]
  13. [[esql-supported-types]]
  14. === Field types
  15. [discrete]
  16. ==== Supported types
  17. {esql} currently supports the following <<mapping-types,field types>>:
  18. * `alias`
  19. * `boolean`
  20. * `date`
  21. * `double` (`float`, `half_float`, `scaled_float` are represented as `double`)
  22. * `ip`
  23. * `keyword` family including `keyword`, `constant_keyword`, and `wildcard`
  24. * `int` (`short` and `byte` are represented as `int`)
  25. * `long`
  26. * `null`
  27. * `text`
  28. * `unsigned_long`
  29. * `version`
  30. [discrete]
  31. ==== Unsupported types
  32. {esql} does not yet support the following field types:
  33. * TSDB metrics
  34. ** `counter`
  35. ** `position`
  36. ** `aggregate_metric_double`
  37. * Geo/spatial
  38. ** `geo_point`
  39. ** `geo_shape`
  40. ** `point`
  41. ** `shape`
  42. * Date/time
  43. ** `date_nanos`
  44. ** `date_range`
  45. * Other types
  46. ** `binary`
  47. ** `completion`
  48. ** `dense_vector`
  49. ** `double_range`
  50. ** `float_range`
  51. ** `histogram`
  52. ** `integer_range`
  53. ** `ip_range`
  54. ** `long_range`
  55. ** `nested`
  56. ** `rank_feature`
  57. ** `rank_features`
  58. ** `search_as_you_type`
  59. Querying a column with an unsupported type returns an error. If a column with an
  60. unsupported type is not explicitly used in a query, it is returned with `null`
  61. values, with the exception of nested fields. Nested fields are not returned at
  62. all.
  63. [discrete]
  64. [[esql-limitations-text-fields]]
  65. === `text` fields behave like `keyword` fields
  66. While {esql} supports <<text,`text`>> fields, {esql} does not treat these fields
  67. like the Search API does. {esql} queries do not query or aggregate the
  68. <<analysis,analyzed string>>. Instead, an {esql} query will try to get a `text`
  69. field's subfield of the <<keyword,keyword family type>> and query/aggregate
  70. that. If it's not possible to retrieve a `keyword` subfield, {esql} will get the
  71. string from a document's `_source`. If the `_source` cannot be retrieved, for
  72. example when using synthetic source, `null` is returned.
  73. Note that {esql}'s retrieval of `keyword` subfields may have unexpected
  74. consequences. An {esql} query on a `text` field is case-sensitive. Furthermore,
  75. a subfield may have been mapped with a <<normalizer,normalizer>>, which can
  76. transform the original string. Or it may have been mapped with <<ignore-above>>,
  77. which can truncate the string. None of these mapping operations are applied to
  78. an {esql} query, which may lead to false positives or negatives.
  79. To avoid these issues, a best practice is to be explicit about the field that
  80. you query, and query `keyword` sub-fields instead of `text` fields.
  81. [discrete]
  82. [[esql-tsdb]]
  83. === Time series data streams are not supported
  84. {esql} does not support querying time series data streams (TSDS).
  85. [discrete]
  86. [[esql-limitations-date-math]]
  87. === Date math limitations
  88. Date math expressions work well when the leftmost expression is a datetime, for
  89. example:
  90. [source,txt]
  91. ----
  92. now() + 1 year - 2hour + ...
  93. ----
  94. But using parentheses or putting the datetime to the right is not always supported yet. For example, the following expressions fail:
  95. [source,txt]
  96. ----
  97. 1year + 2hour + now()
  98. now() + (1year + 2hour)
  99. ----
  100. Date math does not allow subtracting two datetimes, for example:
  101. [source,txt]
  102. ----
  103. now() - 2023-10-26
  104. ----
  105. [discrete]
  106. [[esql-limitations-enrich]]
  107. === Enrich limitations
  108. include::esql-enrich-data.asciidoc[tag=limitations]
  109. [discrete]
  110. [[esql-limitations-kibana]]
  111. === Kibana limitations
  112. include::esql-kibana.asciidoc[tag=limitations]