如何通过@elastic/elasticsearch JS库查询Elasticsearch服务端版本信息
完全可以仅通过@elastic/elasticsearch JavaScript库获取到和示例REST API调用完全一致的Elasticsearch服务端信息。
你调用curl请求ES服务根地址拿到的响应,对应@elastic/elasticsearch库内置的info()方法,该方法返回的响应结构和curl请求结果完全相同,具体使用方式如下:
1. 安装对应版本的依赖包
需要保证客户端库的大版本和ES服务端大版本一致,示例中服务端版本为7.10.2,因此安装7.x版本的客户端:
npm install @elastic/elasticsearch@7
2. 调用info()方法获取服务端信息
示例代码如下:
const { Client } = require('@elastic/elasticsearch') // 初始化ES客户端 const client = new Client({ // 替换为你的ES服务地址 node: 'https://search-elasticsearch-aws-710-public-v7fycso36gekt3vjabelkne2fa.eu-west-1.es.amazonaws.com', // 若服务开启身份验证,补充以下配置 // auth: { // username: '用户名', // password: '密码' // } }) async function fetchEsInfo() { try { const res = await client.info() // 输出完整的服务端信息,和curl返回的JSON结构完全一致 console.log('ES服务端完整信息:', res.body) // 可直接提取版本号等字段 console.log('ES服务端版本号:', res.body.version.number) } catch (error) { console.error('获取ES信息失败:', error) } } fetchEsInfo()
说明
client.info()本质就是官方封装的GET请求ES集群根路径的方法,返回结果和你直接用curl调用拿到的响应没有任何差异,包含你需要的所有集群信息、版本配置字段。
内容的提问来源于stack exchange,提问作者James McGuigan
相关产品推荐
相关产品推荐

