ELasticSearch和python对接快速使用指南

ELasticSearch和python对接快速使用指南,第1张

概述项目环境window10+python3.7+ElasticSearch6.3.2写作目的在一个基于pythonweb系统的开发过程中,被指定要求使用elasticSearch数据库,但自身仅有MySQL使用经验,没有dsl语句的编写经验,其学习成本又比较高,最后是发现了一个可以将SQL语句转DSL语句,才得以快速完成项目需求。 项目环境

window10 + python3.7 + ElasticSearch6.3.2

写作目的

在一个基于python web系统的开发过程中,被指定要求使用elasticSearch数据库,但自身仅有MysqL使用经验,没有dsl语句的编写经验,其学习成本又比较高,最后是发现了一个可以将SQL语句转DSL语句,才得以快速完成项目需求。特此记录踩坑历程。

使用过程1.安装ElasticSearch

总的来说,需要先配置好Java环境,配置好环境变量即可。详参——>elasticsearch安装与使用,此文中所说的ElasticSearch-head不安装也可。

2.安装elasticsearch-sql

进入elasticsearch-sql官网,根据教程及相应指令下载对应版本的elasticsearch-sql,本文中使用的版本为6.3.2,所以选择如下命令:

./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/6.3.2.0/elasticsearch-sql-6.3.2.0.zip

下载对应的网页访问工具(根据教程提示,本文选择elasticsearch sql site chrome extension方式),此种方式需要修改ElasticSearch中的相应配置,具体见elasticsearch sql

注意: Github上给出的elasticsearch sql site Chrome extension对应于elasticsearch-sql最新版,但elasticsearch版本不同从而其中的sql访问接口也就不同,所以需要修改elasticsearch sql site Chrome extension包中controller.Js文件的中的sql访问接口。

具体的不同已在elasticsearch-sql中的readme中给出,如下:


然后就可以elasticsearch sql site Chrome extension中的index主页进行SQL查询了,而且还可将sql转换成dsl语句

3.python中使用ElasticSearch

安装python版本ElasticSearch,注意版本对应。

编写Dsl语句即可,不会Dsl语句的,可以使用先前的elasticsearch-sql工具进行转换。DSL语句例子见:python 查询 elasticsearch 常用方法(Query DSL)

sql中的like语句,建议使用DSL中的match语句(需手动在生成的DSL中修改)。在sql中进行GRUOP BY对字段进行聚类时,需使用字段的keyword形式,如GRUOP BY a.keyword。

参考

写入数据

安装中文分词插件elasticsearch-analysis-ik

python使用sql访问ES

总结

以上是内存溢出为你收集整理的ELasticSearch和python对接快速使用指南全部内容,希望文章能够帮你解决ELasticSearch和python对接快速使用指南所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1188959.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存