ealsticsearch只是后端提供各种api,那么怎么直观的使用它呢?elasticsearch-head将是一款专门针对于elasticsearch的客户端工具, elasticsearch-head配置包,下载地址:https://github.com/mobz/elasticsearch-head
安装插件
安装elasticsearch-head插件
安装docker镜像或者通过github下载elasticsearch-head项目都是可以的,1或者2两种方式选择一种安装使用即可
1. 使用docker的集成好的elasticsearch-head
# docker run -p 9100:9100 mobz/elasticsearch-head:5
docker容器下载成功并启动以后,运行浏览器打开http://localhost:9100/
2. 使用git安装elasticsearch-head
# yum install -y npm
# git clone git://github.com/mobz/elasticsearch-head.git
# cd elasticsearch-head
# npm install
# npm run start
检查端口是否起来
netstat -antp |grep 9100
浏览器访问测试是否正常
http://IP:9100/
es6.0的版本不支持,浏览器请求头信息带Content-Type header [application/x-www-form-urlencoded], 如果使用老版本的elasticsearch-head服务端的es会返回下面的错误信息,{"error":"Content-Type header [application/x-www-form-urlencoded] is not supported","status":406}
需要修改 _site/vendor.js 。找到对应的行 if ( !s.crossDomain && !headers["X-Requested-With"] ) { 的前面增加一行
headers["Content-Type" ] = "application/json"
默认es是不支持跨域访问的,
应该是es默认不支持跨域访问的,所以需要重新配置。
如何解决es不支持跨域访问?
在/etc/elasticsearch/elasticsearch.yml
配置文件中加入以下内容,然后重启服务。
http.cors.enabled: true
http.cors.allow-origin: "*"
1.概览
通过下图可以看到我们的节点名称为my-application,并且该节点下的索引信息
在users下,选择信息-->索引信息,可以查看该索引的所有信息,包括mappings、setting等等
在对应索引的右侧,bank索引右侧,选择动作-->关闭/开启,可以关闭/开启该索引,关闭后的索引如图:
2、索引
在这里,可以查看到所以的索引,并且还可以创建一个新的索引,如下图:
1、RESTful接口使用方法
为了方便直观我们使用Head插件提供的接口进行演示,实际上内部调用的RESTful接口。
RESTful接口URL的格式:
http://localhost:9200///[]
其中index、type是必须提供的。
id是可选的,不提供es会自动生成。
index、type将信息进行分层,利于管理。
index可以理解为数据库;type理解为数据表;id相当于数据库表中记录的主键,是唯一的。
2. 文档索引的创建
将如下一条歌曲信息的数据提交到ES中创建索引:
url:http://localhost:9200/users/china/5/
data:{ "name": "朱玉兵", "sex": "男", "email": "[email protected]"}
索引名字是:users;
索引的类型是:china;
本记录的id是:5
返回的信息可以看到创建是成功的,并且版本号是1;ES会对记录修改进行版本跟踪,第一次创建记录为1,同一条记录每修改一次就追加1。
至此一条记录就提交到ES中建立了索引,注意HTTP的方法是PUT,不要选择错了。
3、索引文档的查询
根据索引时的ID查询的文档的RESTful接口如下
url:http://localhost:9200/users/china/5/
HTTP方法采用GET的形式。
4、索引文档的更新
根据索引时的ID更新的文档的内容其RESTful接口如下
url:http://localhost:9200/users/china/5/
HTTP方法采用PUT的形式。
将name字段由“朱玉兵”改成“robinhunan”;
结果中的version字段已经成了2,因为我们这是是修改,索引版本递增;created字段是false,表示这次不是新建而是更新。
更新接口与创建接口完全一样,ES会查询记录是否存在,如果不存在就是创建,存在就是更新操作。
5、索引文档的删除
根据索引时的ID更新的文档的内容其RESTful接口如下
url:http://localhost:9200/ users/china/5
HTTP方法采用DELETE的形式。
删除过后,再通过查询接口去查询将得不到结果。
3、数据浏览
这里可看到索引、类型、字段、数据信息,如下图所示: