Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【ES三周年】使用AIGC模型智能生成Elasticsearch搜索语句

【ES三周年】使用AIGC模型智能生成Elasticsearch搜索语句

原创
作者头像
点火三周
修改于 2023-02-28 13:39:28
修改于 2023-02-28 13:39:28
3K0
举报
文章被收录于专栏:Elastic Stack专栏Elastic Stack专栏

今天在朋友圈刷到TiDB在他们的 TiDB Cloud Serverless Tier中集成的chat2query功能。看到chatXXX这个名字,大家应该都能顾名思义。显然,它能通过对话的方式帮你生成Query。

这里是演示的动图,分别展示了一个Top 10查询和date histogram的聚合查询:

查询的语句不算复杂,“直观”上似乎是能够降低用户的使用入门门槛的。

可惜,就像唐刘自己在公众号里说的 ——

但是,我推荐的朋友几乎全是有技术背景的人,所以当我跟一位不懂技术的朋友进行推荐的时候,我才突然意识到,我们的这款产品离好看以及好用,还有很长的路要走。

关于数据库,query,BI这档事,业界早有定论,普通人需要的是不用学习query就能够知道查询和分析的结果。而拖拽式的可视化工具,难道不是更好的答案?

好了,不扯远了。其实我们今天要谈的是如何借助类似ChatGPT这种生成式的大模型来生成Elasticsearch搜索语句,嗯,就像Chat2Query所做的一样。

生成式查询语言的需求

其实,随着数据量的增长和业务需求的不断变化,传统的查询和分析语言已经不能满足现代应用的需求。因此,越来越多的企业和技术公司开始尝试开发新的数据查询语言,或者利用人工智能等新技术提供更加智能化的数据查询解决方案。

在这方面,GPT模型作为一种先进的自然语言处理技术,能够生成领域特定的DSL表达式,使得用户可以使用更加自然、直观的方式来进行数据查询和分析。这样可以大大提高数据查询的效率和准确性,使得用户可以更加方便地从数据中获取有用的信息和洞察。因此,不少公司正在积极探索并利用这些新技术,以满足用户不断增长的需求。

其中,Copilot的出现更表明了人工智能技术在编程领域的应用越来越成熟,未来这种技术将会在软件开发领域扮演更加重要的角色。通过自动化代码生成、错误检测和调试等工作,将大大降低开发者的工作量,提高代码的质量和效率。

而ChatGPT更加加重了这一趋势和需求,因为ChatGPT的出现使生成式对话模型的应用变得更加普及化和便捷化,其火爆程度,直接把AIGC带入我们每个人的生活。

所以,如果我们对ES的DSL感到恐惧,不妨试一试现有各种AIGC工具,寻求AI的帮助,本文,我们就从Copilot和chatGPT开始。

使用AIGC编写ES的DSL


Copilot + VS Code的例子

第一个,我们先来看看​在VS code上使用Copilot来生成ES DSL的例子。

首先,我们的先注册和申请Copliot的使用账号,并且将其安装到VS code中,步骤如下:

  1. 在 VS Code 中安装 Copilot 插件。打开 VS Code,在菜单栏中选择“Extensions”选项,并搜索 Copilot 插件,点击“Install”按钮安装插件。​
  2. 注册 Copilot 账号。在安装完插件后,点击插件图标,选择“Register”选项,并按照指示填写注册信息完成注册。
  3. 配置 Copilot API 密钥。注册成功后,在 Copilot 网站上获取 API 密钥,然后在 VS Code 中点击插件图标,选择“API key”选项,将获取到的 API 密钥输入到相应的文本框中。
  4. 在 VS Code 编辑器中打开项目,并打开一个代码编辑器窗口。
  5. 输入要编写的代码段,按下快捷键(默认为 Ctrl + Shift + P),选择“Copilot: Generate Code”选项,Copilot 就会根据你的输入自动生成相应的代码。 ​

就如在下图中,我们只需要在注释中写入我们的需求,换行之后,通过tab键,就可以让Copilot为我们生成Elasticsearch的DSL​:


chatGPT + Intellij 的例子

接下来,我们再来看看在intellij上使用​chatGPT的例子。

这里,我们将借助一个叫做EDQL的工具。

EDQL是基于Intellij平台的Elasticsearch专业查询和管理工具。它用于管理 Elasticsearch 集群和从 Elasticsearch 查询数据,具有以下功能。

  1. EDQL 完全兼容官方的Query DSL,你可以直接复制Query DSL 在EDQL 上运行,无需任何额外的努力。
  2. EDQL 有一个可视化编辑器,允许您通过交互式 UI 快速编写查询条件。
  3. 拥有强大的脚本引擎:支持函数、变量、迭代等。使用Smart Intellij,您可以轻松编写查询DSL(重构、提取等)。

安装并试用:https ://github.com/chengpohi/edql/releases/tag/v1.9.16

​使用的方式和Copilot类似:

总结

​时代是在进步的,AIGC终将会带来一场不小的革命,而通过AIGC自动代码生成功能,能帮助我们提高编程效率和减少出错率。

然而,在使用过程中,我们还是需要保护好自己的隐私和知识产权,并遵守相关法律法规和道德规范。

同时,我们也需要意识到,作为一条经验法则,我们应该假设它可能会做最糟糕的事情:生成一个看起来正确、语法正确但产生错误答案的查询。​

因此,工具为我们带来​效率的同时,绝不意味着我们不再需要学习。当我们自己,停止进步的时候,或许,就会是潘多拉魔盒中厄运降临的时候

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【ES三周年】elasticsearch 认知
传统的关系数据库(MySQL、Oracle、和Access等)主导了20世纪的数据存储模式,但当数据量达到太字节级,甚至拍字节级时,关系型数据库表现出了难以解决的瓶颈问题。为了解决海量数据存储和分布式计算问题,Google Tab 提出了Map/Reduce 和Google File System(GFS)解决方案,Hadoop作为其中一个优秀的实现框架迅速得到了业界的认可和广泛应用。但Hadoop的存储模式决定了其并不支持对数据的实时检索和计算。还有其他的替代方案吗?为何不尝试Elasticsearch 的分布时存储功能?
张同学tty
2023/04/09
1.3K0
【ES三周年】elasticsearch 认知
【ES三周年】elasticsearch 核心概念
elasticsearch 是一个近实时的搜索和分析平台,这意味着从索引文档到可搜索文档都会有一段微小的延迟(通常是1s以内)。这种延迟主要是因为 elasticsearch 需要进行数据刷新和索引更新。
张同学tty
2023/04/11
3.3K0
【ES三周年】elasticsearch 核心概念
【ES三周年】高效搜索引擎ElasticSearch介绍
官网:https://www.elastic.co/cn/products/elasticsearch
4O4
2023/02/17
2.4K14
【ES三周年】高效搜索引擎ElasticSearch介绍
【ES三周年】通过Elasticsearch来搭建搜索引擎
Elasticsearch也简称为ES,其实就是一个实时搜索和分析引擎,它可以近乎实时的数据存储、检索与分析数据。ES是一个基于开源的可高扩展的分布式全文搜索引擎,它自身可扩展性非常好,可以扩展到能够处理PB级别的数据。ES是基于Lucene作为核心来实现所有搜索和索引的功能的,之所以这样做就是为了通过简单的RESTful API来隐藏Lucene的复杂性,进而让全文搜索成为一个简单的操作。
三掌柜
2023/02/15
1.5K8
【ES三周年】通过Elasticsearch来搭建搜索引擎
【ES三周年】分布式搜索索引elasticsearch快速入门
elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容
小小程序员
2023/04/28
1.3K0
【ES三周年】分布式搜索索引elasticsearch快速入门
【ES三周年】腾讯云Elasticsearch Service基础知识,进阶使用以及优化方式
腾讯云 Elasticsearch Service 是一种托管式 Elasticsearch 服务,可用于构建和管理强大的搜索和分析引擎。以下是一份关于如何使用腾讯云 Elasticsearch Service 的技术文章。
堕落飞鸟
2023/03/22
1.5K0
【ES三周年】让搜索更高效:腾讯云和Elasticsearch的完美结合
腾讯云作为国内领先的云计算服务商之一,提供了多种云计算服务,包括计算、存储、数据库、网络、安全、人工智能、大数据、物联网等领域,以满足不同客户的需求。为适应不同的应用场景和需求,其提供的主要功能包括:
江米小枣
2023/02/15
1.6K0
【ES三周年】让搜索更高效:腾讯云和Elasticsearch的完美结合
【ES三周年】分布式搜索索引elasticsearch JavaAPI编写ES搜索
在昨天的学习中,我们已经导入了大量数据到elasticsearch中,实现了elasticsearch的数据存储功能。但elasticsearch最擅长的还是搜索和数据分析。
小小程序员
2023/04/28
1.5K0
【ES三周年】分布式搜索索引elasticsearch JavaAPI编写ES搜索
【ES三周年】 ES插件介绍和应用
现在 ElasticSearch 大量应用在搜索领域,开发者可以通过其提供的多样的查询api达到希望的搜索效果,而且Elasticsearch版本也一直在不断迭代,以满足开发者的需要。但是,实际开发过程中,可能需要将搜索和自己的业务场景进行结合,来达到自定义的排序、搜索规则。Elasticsearch针对这种情况,提供了插件的功能,可以这么说,如果能够学会使用插件,那我们就有了自由扩充ELasticsearch功能的手段,对搜索的掌控力就能提升一个档次。
用户5851821
2023/02/06
2.5K0
【ES三周年】+Elasticsearch 在大数据的应用
作为一个开源的分布式全文搜索和分析引擎,Elasticsearch(以下简称ES)已经在不少企业应用中发挥了重要作用。ES最早是由Shay Banon于2010年创建,经过多年的发展,现已成为一个功能丰富、性能优越的大数据搜索引擎。本文将介绍ES的一些关键知识点、技术原理和操作实践,并结合Java代码示例进行讲解,以帮助开发者更好地了解和应用ES。
Maynor
2023/02/14
8070
【ES三周年】+搜索引擎ES的入门教程
全文搜索属于最常见的需求,开源的 Elasticsearch(以下简称 Elastic)是目前全文搜索引擎的首选。
芯动大师
2022/12/14
1.6K1
【ES三周年】+搜索引擎ES的入门教程
【ES三周年】十分钟快速入门Elasticsearch
Elasticsearch 是分布式、可扩展、实时的搜索与数据分析引擎,一般简称ES。
windealli
2023/03/03
2.3K0
【ES三周年】十分钟快速入门Elasticsearch
【ES三周年】ElasticSearch 简要技术总结与Spark结合使用实践
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。它是一个实时的分布式搜索和分析引擎。它可以帮助你用几秒钟内搜索百万级别的数据。
大鹅
2023/02/14
2K0
【ES三周年】写给ES开发者的Elasticsearch入门指南
首先,来了解一下Elasticsearch,它是一个分布式可扩展高实时的搜索和分析引擎,可以很轻松的让高量级数据具有搜索分析和探寻能力,其自身的水平伸缩性可以让数据在生产环境下具有更高价值。
三掌柜
2023/02/08
1.5K13
【ES三周年】写给ES开发者的Elasticsearch入门指南
使用Elasticsearch进行智能搜索的机器学习
众所周知,机器学习正在改变许多行业。搜索行业也是如此,公司通过手动调整搜索相关性来压榨潜能。成功的搜索组织希望通过“足够好”的手动调整来构建更智能的自学习搜索系统。
大数据弄潮儿
2018/05/25
3.3K0
【ES三周年】ElasticSearch在微信金融领域实践
用户通过微信支付完成交易,商户通过微信支付完成收款后,可能会出于不同目的来查看此前的交易记录,并且查询条件可能会有很大的差异;为了能够满足这里的功能需求,目前选择ElasticSearch作为主要的存储组件以提供诸如搜索等功能。但是有别于业界使用ElasticSearch支持日志分析场景,在支付金融场景下,会对ElasticSearch的安全和可用性提出更高的要求,以便满足当前领域的需求。
HaveTryTwo
2022/12/07
1.2K0
【ES三周年】ElasticSearch在微信金融领域实践
【ES三周年】关于Elasticsearch Service的从零开始介绍!
腾讯云 Elasticsearch Service(ES)是基于开源引擎打造的云端全托管 ELK 服务,集成 X-Pack 特性、独有高性能自研内核、QQ 分词、集群巡检、一键升级等优势能力,引入极致性价比的腾讯自研星星海服务器。助您轻松管理和运维集群,高效构建日志分析、运维监控、信息检索、数据分析等业务。
吃猫的鱼Code
2023/02/14
8800
开源BI工具红黑榜:2025年主流开源BI工具全景对比
现在市场上开源 BI 产品比较多,各个产品的侧重点不同,有的以报表为主、有的以可视化为主、有的以查询分析为主。这里我们选取了一些主流的开源 BI 产品,从产品功能、可视化能力、数据源支持以及使用文档等方面进行对比,希望对你有帮助。
用户11425834
2025/03/25
5620
【ES三周年】ElasticSearch的那些事儿
ES是Elasticsearch的缩写,是一个基于Lucene的开源全文搜索引擎,提供了分布式、多租户、全文搜索、实时数据分析等功能。ES使用Java语言编写,可以通过RESTful API进行访问和操作,具有快速、可扩展、高可用等特点,是当前最受欢迎的搜索和分析引擎之一。
程序那些事儿
2023/03/13
6070
【ES三周年】ElasticSearch的那些事儿
【ES三周年】ElasticSearch中文分词
本文咱们深入一些,详细分析一下Elasticsearch的中文分词,并顺便演示一下对docker安装的Elasticsearch如何支持中文分词的疑问。好了,废话不多说,让我们开始吧!
大王叫我来巡山、
2023/02/21
8810
推荐阅读
相关推荐
【ES三周年】elasticsearch 认知
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档