python 如何使用 NLPchina 开源sql插件,提供代码

分享一段使用python,通过使用发送post请求的方式,来从es集群中获取数据。不用使用 elasticsearh,仅需要导入request和json包即可。

开源sql插件官方 文档


GitHub - NLPchina/elasticsearch-sql: Use SQL to query Elasticsearch

 

示例代码

调试过,可运行,得到的结果,为kibana界面上展示的结果,需要自己解析hit里边的数据。agg聚合分析结果在 aggregations里边。可以看打印的结果!

如果包错,没有requests包,则导入即可。

pip install requests

import requests
import json

def execute_sql_and_get_json_response(sql_query):
    # 定义请求的URL和头部
    url = "http://localhost:9200/_nlpcn/sql"
    headers = {'Content-Type': 'application/json'}

    # 确保数据是以UTF-8编码的字节串
    data_encoded = sql_query.encode('utf-8')

    # 发送POST请求
    response = requests.post(url, headers=headers, data=data_encoded, params={"pretty": "true"})

    # 处理响应
    if response.status_code == 200:
        # 返回原始JSON响应文本
        return response.text
    else:
        raise Exception(f"请求失败,状态码:{response.status_code}\n错误信息:{response.text}")

# 使用方法示例
sql_query = 'select * from indexName WHERE  = "MTJJ" AND age <> "38"'
try:
    json_response = execute_sql_and_get_json_response(sql_query)
    # 如果需要将响应内容转化为Python字典,可以使用 json.loads 方法
    python_dict_response = json.loads(json_response)
    # 对python_dict_response进行后续处理
    print(python_dict_response)
except Exception as e:
    print(e)

遇到问题

sql中的不等号解析有问题,调用报错,需要用 <> 代表 !=

结果需要自己解析,输出的json结果和kibana上的结果一样

相关推荐

  1. python如何开发

    2024-03-13 06:42:01       35 阅读
  2. 如何使用vue开发vscode

    2024-03-13 06:42:01       36 阅读
  3. Chrome 如何开发

    2024-03-13 06:42:01       14 阅读
  4. openGauss SQL引擎开发指导

    2024-03-13 06:42:01       18 阅读
  5. IDEA 提高开发效率

    2024-03-13 06:42:01       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-13 06:42:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-13 06:42:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-13 06:42:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-13 06:42:01       20 阅读

热门阅读

  1. golang将pcm格式音频转为mp3格式

    2024-03-13 06:42:01       22 阅读
  2. WebGL之使用着色器将颜色应用于 WebGL

    2024-03-13 06:42:01       17 阅读
  3. python使用国内镜像源

    2024-03-13 06:42:01       23 阅读
  4. Element UI +Vue页面生成二维码的方法

    2024-03-13 06:42:01       18 阅读
  5. 接口测试工具【Postman】相关的面试题

    2024-03-13 06:42:01       23 阅读