ElasticSearch服务的客户端,有以下三种方式:
·elasticsearch-head插件
·elasticsearch提供的Restful接口直接访问
·elasticsearch提供的API进行访问
1、elasticsearch-head插件
启动插件后,访问 http://localhost:9100/ 地址,详情如下:
1.1、概览信息
概览信息可以查询到建立的索引。
1.2、索引
点击索引页,可以新建索引,同时可以查看建立的索引信息,包括该索引下的文档数。
1.3、浏览数据
浏览数据页,可以根据索引及类型查看数据,详情如下:
1.4、基本查询和复合查询
基本查询和复合查询在学习完 domain-specific language 领域特定语言,即DSL中会做详细介绍。
2、访问Restful接口
2.1、索引操作
2.1.1、创建索引 index
PUT /索引名 POST /索引名
1.1、创建映射及索引
请求体内容:
{ "mappings": { "properties": { "id": { "type": "long", "store": true }, "title": { "type": "text", "store": true, "analyzer":"standard" }, "content": { "type": "text", "store": true, "analyzer":"standard" } } } }
详情如下:
通过head插件查询,索引已经建成功。
1.2、先创建索引再创建映射 mapping
使用put方法创建一个索引,无任何请求信息,详情如下:
设置mapping信息,详情如下:
{ "article": { "properties": { "id":{ "type":"long", "store":true }, "title":{ "type":"text", "store":true, "analyzer":"standard" }, "content":{ "type":"text", "store":true, "analyzer":"standard" } } } }
postman请求详情如下:
head插件查看如下:
2.1.2、查看索引
# 查看所有索引信息 GET /*
详情如下:
# 查看指定索引的索引信息 GET /索引名
详情如下:
2.1.3、更新索引
DELETE /索引名称
详情如下:
2.2、文档操作
2.2.1、post与put方式的区别
提交方式 |
描述 |
PUT |
提交的id如果不存在就是新增操作,如果存在就是更新操作,id不能为空 |
POST |
如果不提供id会自动生成一个id,如果id存在就更新,如果id不存在就新增 |
2.2.2、创建文档
PUT|POST /索引名称/类型名/编号
请求体内容:
{ "id":1, "title":"ElasticSearch 是一个基于 Lucene 的搜索服务器", "content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。" }
详情如下:
使用head查看结果:
返回字段含义:
字段 |
含义 |
_index |
索引名称 |
_type |
类型名称 |
_id |
记录id |
_version |
版本号 |
_seq_no |
并发控制字段,每次更新都会+1,用来实现乐观锁 |
_primary_term |
同上,主分片重新分配,如重启,就会发生变化 |
found |
是否找到结果标识 |
_source |
真正的数据内容 |
2.2.3、更新文档
使用 put方式 更新,详情如下:
2.2.4、查询文档
4.1、根据id查询
4.2、根据querystring查询
query_string的搜索方式,搜索之前对搜索的关键词分词。
{ "query": { "query_string": { "default_field": "title", "query": "搜索服务器" } } }
2.2.5、删除文档
3、Kibana的Dev Tools
Kibana的安装:(三):Kibana安装。
在Kibana的管理台中,可通过Dev Tools对数据进行检索、过滤等操作。
3.1、索引操作
# 创建索引 PUT /user # 查询索引 GET /user # 删除索引 DELETE /user
3.1.1、创建索引
3.2.2、查看索引
2.1、管理台查看
查看创建的索引,在Kibana管理台 Management -> StackManagement -> Index Management 中查看刚创建的索引。
2.2、命令查看
3.2.3、删除索引
再次查看索引,返回404,索引未找到,表示已经被删除。
3.2、文档操作
3.2.1、创建文档
# 创建文档,type = _doc PUT /user/_doc/1 { "name":"李四", "age":28, "city":"杭州" } # type = _doc POST /user/_create/2 { "name":"王五", "age":26, "city":"上海" } # type = userinfo POST /user/userinfo/3 { "name":"赵六", "age":35, "city":"北京" }
详情如下:
7.x的版本的type默认为_doc,废弃了类型type,去掉type是为了提高ES处理数据的效率。
Elasticsearc基于Lucene开发的搜索引擎,在ES中不同type下名称相同的filed最终在Lucene中的处理方式是一样的。
两个不同type下的两个name,在ES中同一个索引下其实被认为是同一个filed,必须在两个不同的type中定义相同的filed映射。否则,不同type中的相同字段名称就会在处理中出现冲突的情况,导致Lucene处理效率下降。
3.2.2、查看文档
# 查看文档 GET /user/_doc/1
3.2.3、更新文档
# 更新文档 POST /user/_doc/1 { "name":"李四", "age":29, "city":"杭州" } # 查看更新后的文档 GET /user/_doc/1
3.2.4、删除文档
# 删除文档 DELETE /user/_doc/1标签:文档,查看,索引,ElasticSearch,user,操作,type,id,客户端 From: https://www.cnblogs.com/RunningSnails/p/17972732