在没有kibana界面的情况下,手写ES的querydsl还是有点难度的,好在高版本的ES中,我们可以使用sql语法来写查询语句。 假设这里的索引名为: dba-abcd 使用sql语法实现查询 代码语言:txt AI代码解释 POST /_sql?format=txt { "query": "SELECT esId,k,name,sex FROM \"dba-abcd\" WHERE pad like '%22195207048...
2. 将SQL查询转换为Elasticsearch的查询DSL(可选) 虽然Elasticsearch SQL API允许你直接使用SQL语法进行查询,但如果你熟悉Elasticsearch的查询DSL,你也可以选择将SQL查询转换为DSL查询。Elasticsearch提供了一个/_sql/translate API,可以将SQL查询转换为对应的DSL查询。 例如,将上述SQL查询转换为DSL查询: json POST /_sql...
1、注意ES在6.3版本之后才原生支持SQL查询。 2、可以通过translate API将sql语句转为DSL语句。 3、ES的SQL查询提供对自查询的简单支持。 4、通过SHOW FUNCTIONS可以查看ES的SQL查询支持的函数。 5、ES的SQL查询可以通过游标cursor实现分页查询。
三、SQL Translate API SQL Translate API 接收 JSON 格式的 SQL 语句,然后将其转换为 ES 的 DSL 查询语句,但是这个语句不会被执行,我们可以可以用这个 API 来将 SQL 翻译到 DSL 语句,其实例如下: POST /_sql/translate { "query": "SELECT * FROM library ORDER BY page_count DESC", "fetch_size": ...
POST /_sql/translate{"query": "SELECT * FROM library ORDER BY page_count DESC","fetch_size": 10} 响应结果: {"size": 10,"_source": false,"fields": [{"field": "author"},{"field": "name"},{"field": "page_count"},{"field": "release_date","format": "strict_date_optional_...
本地集成,SQL 模块是 ES 自己构建的,直接集成到发布的版本中。 不需要外部的组件,使用 SQL 模块不需要额外的依赖,如硬件、运行时库等。 轻量高效,SQL 模块不抽象 ES 和其搜索能力,而是暴露 SQL 接口,允许以相同的声明性、简洁的方式进行适当的全文搜索。
POST /_sql/translate{"query": "SELECT * FROM library ORDER BY page_count DESC","fetch_size": 10} SQL语法、命令 https://www.elastic.co/guide/en/elasticsearch/reference/7.6/sql-spec.html 函数 https://www.elastic.co/guide/en/elasticsearch/reference/7.6/sql-functions.html ...
query中的SQL语句在翻译为DSL后,会与filter中的DSL查询语句共同组合到bool查询中。其中SQL语句生成的DSL将出现在must子句,而filter中的DSL则出现在filter子句中。来想要查看SQL语句翻译后的DSL。可以使用_sql/translate执行相同的请求,在返回结果中就可以看到翻译后的DSL了。
1POST /_xpack/sql/translate 2{ 3"query":"SELECT * FROM library ORDER BY page_count DESC", 4"fetch_size": 10 5} 返回结果 1{2"size":10,3"_source": {4"includes": [5"author",6"name"7],8"excludes": []9},10"docvalue_fields": [11"page_count",12"release_date"13],14"sort...
POST /_sql?format=txt { "query": """ SELECT key,price,title FROM "dang-dang" limit 20 """, "filter":{ "range": { "price": { "gte": 100 } } } } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. SQL Translate API ...