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": "40930845@qq.com"}

索引名字是: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、数据浏览

  这里可看到索引、类型、字段、数据信息,如下图所示:

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐