javascript玩转ElasticSearch(一)
前言
大家好。本人是一个前端开发工程师,作为一个不喜欢写页面的前端开发工程师,总是整天想着玩一些后台数据库的东西。ElasticSearch是一款非常先进好用的数据库框架,使用ElasticSearch作为数据库应用一些小型项目的话,可以做到不用写后台接口,基本上纯javascript就可以搞定一个项目。我的博客《使用CDN的方式使用Vue 和 iview构建vue项目》提到的那个项目,就是使用ElasticSearch开发的。后来机缘巧合又参与了另外一个项目,发现ElasticSearch真的非常好用,本着跟大家一起学习的心态,我打算写这一系列博客,来记录我这段时间的一些心得。另外,在文末会附上github源码,可供调试,学习。
开始
关于ElasticSearch安装的教程网上很多,这里我就不一一介绍安装过程了。关于安装问题,本人也有一篇博客,如果遇到问题可以参考。本人使用的开发环境如下,可以点击下载。下载的时候需要注意kibana需要和ElasticSearch版本保持一致。
项目 | 版本 |
---|---|
操作系统 | windows |
ElasticSearch | v6.5.3 |
Kibana | v6.5.3 |
准备工作
对于一个数据库,最基本的操作就是增删改查。对于一个前端开发人员,最熟悉的不过是javascript脚本了。使用脚本调用ElasticSearch很简单。只需如下几行代码。注意:
$.ajax({
type: "get",
contentType: 'application/json',
url: `http://localhost:9200/index/type/_search`,
success() {
},
error(data) {
}
})
contentType: ‘application/json’
由于我们传递给es的数据格式大部分采用的是json格式。所以建议所有的请求都带上上面那句话。否则对于复杂格式,无法传递到es服务器。接下来就是增删改查。
一 查询
var query = {}
$.ajax({
type: "post",
contentType: 'application/json',
data:JSON.stringify(query),
url: `http://localhost:9200/index/type/_search`,
success() {
},
error(data) {
}
})
一个post请求,将查询条件query对象发送到es服务器。目前查询条件为空。以后所有的查询条件都可以放到query下面。url地址中的index表示查询的对应索引,type表示查询的对应类型。
注意 在es之后的版本 一个索引下只能有一个类型,所以建议索引名和类型名称取一样,这样完完全全的,一个索引就是数据库的一张表。接下来的示例中,我会以游戏人物表作为示例讲解