一、背景介绍
由于按键精灵手机版没有提供可以直接操作MYSQL等数据库的功能,只有一个能操作本地的SQLite3数据库的插件,导致很多功能不借助第三方插件无法实现,例如云端计费,云端中控等。目前按键精灵操作MYSQL等数据库,一般是通过高级编程语言JAVA,PHP,C语言等,搭建一个中间件,按键精灵手机版通过调用中间件的接口,来实现对于数据库的增删改查。原理如下:
中间件具有多个接口,每个接口对应不同的功能,例如接口1对应增,接口2对应删,接口3对应改,接口4对应查,所以按键精灵手机版通过post或者get调用中间件不同的接口,来实现对数据库的增删改查。
这样子做有一个问题,就是中间件一般都是用高级语言编写,对于业余编程人员或者按键精灵的初学者来说,基本上不可能通过自己去学习高级语言,然后自己去编写一个中间件,学习成本太高了。最好的办法就是直接通过Post/Get来增删改查据库。所以数据库必须要支持restful,因为RESTful的一个特点就是:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。
elasticsearch(简称es数据库)是一个分布式的搜索引擎,支持通过HTTP RESTful API来操作数据,实现对数据的增删改查。一张图对比es数据库和mysql数据库
Mysql | elasticsearch |
DataBase | index |
Table | type |
row | docment |
column | filed |
select | get |
insert | post、put |
delete | delete、post |
update | post |
虽然按键精灵手机版没有put和delete协议,但是能用post进行数据增加、删除,依旧能满足日常需求。
二、es数据库搭建
为了降低学习成本,本文使用windows server2019 系统进行搭建,点此跳转特惠服务器购买链接,务必使用与本文一致的操作系统版本,下载本文链接内提供的安装包进行安装。
文章购买链接:https://starcheng.xyz/store/goods/918.html
8.使用按键精灵手机版测试连接
dim data = {null}
data["url"] = "http://服务器IP:9200/ceshi/_doc"
data["data"]="{}"
data["header"] = {"Content-Type": "application/json"}
dim json = url.HttpPost(data)
data["url"] = "http://服务器IP:9200/_search"
json = url.HttpPost(data)
TracePrint json
成功连接上数据库后,将返回json数据(2023年10月后部署的es数据库插入数据不一定有json返回,不影响使用),可视化面板中也可看到有数据插入,如下所示:
9.es数据库常见操作指令:https://www.cnblogs.com/xiohao/p/12970224.html(博客园-平常心)