1:Elasticsearch 实战 - 第一讲:简介以及安装
2:Elasticsearch 实战 - 第二讲:kibana 安装以及ES 的概念名词
3:Elasticsearch 实战 - 第三讲:ES 基本操作、批处理
4:Elasticsearch 实战 - 第四讲:ES 高级查询
5:Elasticsearch 实战 - 第五讲:Java 集成 Spring Data Elasticsearch(一):简介及环境搭建
6:Elasticsearch 实战 - 第六讲:ES 项目实战(二):基本操作、批处理、高级查询
导读: 上篇博客讲了关于 Elasticsearch 的安装以及部署,接下来本篇博客主要讲的是Elasticsearch 的 基本操作、批处理。
语法:PUT /索引名 在没有特殊设置的情况下,默认有5个分片,1个备份,也可以通过请求参数的方式来指定.。
参数格式:
PUT /user
{
"settings": {
"number_of_shards": 5 //设置5个片区
, "number_of_replicas": 1 //设置1个备份
}
}
语法:DELETE /索引名
DELETE /user
语法:GET /索引名
GET /user
语法:PUT /索引
PUT /user
{
"mappings": {
"user": {
"properties": {
"name": {
"type": "text"
}
}
}
}
}
字段类型 type:double / long / integer / text / keyword / date / binary
注意:text和keyword都是字符串类型,但是只有text类型的数据才能分词,字段的配置一旦确定就不能更改 映射的配置项有很多,我们可以根据需要只配置用得上的属性.
语法:GET /索引名/_mapping
语法:PUT /索引名/类型名/文档ID
参数格式:
PUT /user/user/1
{
"id":1,
"name":"战三",
"age":18
}
注意:
每一个文档都内置以下字段
语法:DELETE /索引名/类型名/文档ID
示例如下:
DELETE /user/user/1
注意:这里的删除并且不是真正意义上的删除,仅仅是清空文档内容而已,并且标记该文档的状态为删除。
语法:
GET /product/product/_search
GET /product/product/1
查询所有结果中包含以下字段:
当需要集中的批量处理文档时,如果依然使用传统的操作单个API的方式,将会浪费大量网络资源,Elasticsearch为了提高操作的性能,专门提供了批处理的API。
语法:
POST /索引名/类型/_bulk
{ 动作:{"_id": 文档ID}}
{...}
{动作:{"_id": 文档ID}}
{...}
动作:create / update / delete,其中delete只有1行JSON,其他操作都是有2行JSON,并且JSON不能格式化(即不能换行),如 果是update动作,它的数据需要加个key为doc
如:{“update”: {"_id": xx}} {“doc”: {“xx”:xx, “xx”:xx}}
示例如下:
#批量增删改user对象
POST /user/user/_bulk
{"create":{"_id":"3"}}
{"id":"3","name":"张三","age":18,"address":"湖南省","mobile":"17666555910","sex":"1"}
{"update":{"_id":"1"}}
{"doc":{"id":"1","name":"星华","age":17,"address":"广东省","mobile":"17666555910","sex":"1"}}
{"delete":{"_index":"user","_type":"user","_id":2}}
语法:
GET /索引名/类型/_mget
{
"docs": [
{"_id": 文档ID},
...
]
}
示例如下:
#批量查询
GET /user/_mget
{
"docs":[
{"_id":"1"},
{"_id":"3"}
]
}
更多资讯请扫描以下二维码或关注微信公号“愿为最亮星”,为您提供更深层次的解答。