The ES|QL result format is meant to be compact: it is composed of a metadata part giving field names and their types and a 2D array of values, which isn't easy to use in application code.
This PR provides adapters that convert the ES|QL JSON result format into higher level types that are easier to use. Two adapters are provided:
An ObjectsAdatper that combines field names and values from the array to build a collection of objects using JSON to object mapping
A ResultSetAdpater that provides an implementation of the well-known JDBC ResultSet. This is a cursor-based API where the application can inspect at runtime the type and names of the ES|QL results, and is therefore more suited for ad-hoc or dynamic queries where the result structure isn't known in advance.
Along with adapters, additional methods in ElasticsearchEsqlClient provide simple way to send queries using just a string and optional parameters when you don't need to specify additional request details.
Adds helpers for ES|QL.
The ES|QL result format is meant to be compact: it is composed of a metadata part giving field names and their types and a 2D array of values, which isn't easy to use in application code.
This PR provides adapters that convert the ES|QL JSON result format into higher level types that are easier to use. Two adapters are provided:
ObjectsAdatper
that combines field names and values from the array to build a collection of objects using JSON to object mappingResultSetAdpater
that provides an implementation of the well-known JDBCResultSet
. This is a cursor-based API where the application can inspect at runtime the type and names of the ES|QL results, and is therefore more suited for ad-hoc or dynamic queries where the result structure isn't known in advance.Along with adapters, additional methods in
ElasticsearchEsqlClient
provide simple way to send queries using just a string and optional parameters when you don't need to specify additional request details.