1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- [role="xpack"]
- [testenv="basic"]
- [[sql-translate]]
- == SQL Translate API
- The SQL Translate API accepts SQL in a JSON document and translates it
- into native Elasticsearch queries. For example:
- [source,js]
- --------------------------------------------------
- POST /_xpack/sql/translate
- {
- "query": "SELECT * FROM library ORDER BY page_count DESC",
- "fetch_size": 10
- }
- --------------------------------------------------
- // CONSOLE
- // TEST[setup:library]
- Which returns:
- [source,js]
- --------------------------------------------------
- {
- "size" : 10,
- "docvalue_fields" : [
- {
- "field": "page_count",
- "format": "use_field_mapping"
- },
- {
- "field": "release_date",
- "format": "epoch_millis"
- }
- ],
- "_source": {
- "includes": [
- "author",
- "name"
- ],
- "excludes": []
- },
- "sort" : [
- {
- "page_count" : {
- "order" : "desc",
- "missing" : "_first",
- "unmapped_type" : "short"
- }
- }
- ]
- }
- --------------------------------------------------
- // TESTRESPONSE
- Which is the request that SQL will run to provide the results.
- In this case, SQL will use the <<search-request-scroll,scroll>>
- API. If the result contained an aggregation then SQL would use
- the normal <<search-request-body,search>> API.
- The request body accepts all of the <<sql-rest-fields,fields>> that
- the <<sql-rest,SQL REST API>> accepts except `cursor`.
|