目录
1.创建文档
1) 索引已经创建好了接下来我们来创建文档,并添加数据.这里的文档可以类比为关系型数据库中的表数据,添加的数据格式为JSON格式
在Postman中向ES服务器发POST请求:http://localhost:9200/shopping/_doc,此处发送请求的方式必须为POST,不能是PUT,否则会发生错误
{
"ProdutName":"感抗",
"Made":"吉林长春",
"Spec":"10片/盒",
"Price":10.5
}
返回结果
{
"_index"【索引】: "shopping",
"_type"【类型-文档】: "_doc",
"_id"【唯一标识】: "Xhsa2ncBlvF_7lxyCE9G", #可以类比为 MySQL 中的主键,随机生成
"_version"【版本】: 1,
"result"【结果】: "created", #这里的 create 表示创建成功
"_shards"【分片】: {
"total"【分片 - 总数】: 2,
"successful"【分片 - 成功】: 1,
"failed"【分片 - 失败】: 0
},
"_seq_no": 0,
"_primary_term": 1 }
2) 指定ID创建文档,在Postman中向ES服务器发POST请求:http://localhost:9200/shopping/_doc/1001
2.修改文档
和新增文档一样输入相同的URL地址请求如果请求体变化会将原有的数据内容覆盖
在Postman中向ES服务器发POST请求http://localhost:9200/shopping/_doc/1001
3.删除文档
删除一个文档不会立即从磁盘上移除,它只是被标记成已删除(逻辑删除)
Postman中向ES服务器发DELETE请求http://localhost:9200/shopping/_update/1001
4.删除文档-条件
一般删除数据都是根据文档的唯一性标识进行删除,实际操作时,也可以根据条件对多条数据进行删除
向ES服务器发POST请求http://localhost:9200/shopping/_delete_by_query
{
"query":{
"match":{
"Made": "吉林长春"
}
}
}
5.修改字段
修改数据时,也可以只修改某一给条数据的局部信息
在Postman中向ES服务器发POST请求http://localhost:9200/shopping/_update/1001
6.文档查询-全查询(全文检索)
1) 在Postman中向ES服务器发POST/GET请求http://localhost:9200/shopping/_search
返回结果如下:
{
"took" : 19, 【查询花费时间,单位毫秒】
"timed_out": false, 【是否超时】
"_shards": { 【分片信息】
"total": 1, 【总数】
"successful": 1,【成功】
"skipped": 0, 【忽略】
"failed": 0 【失败】
},
"hits": { 【搜索命中结果】
"total": { 【搜索条件匹配的文档总数】
"value": 1, 【总命中计数的值】
"relation": "eq" 【计数规则】# eq 表示计数准确, gte 表示计数不准确
},
"max_score": 1.0,【匹配度分值】
"hits": [{}] 【命中结果集合】
}
}
2) 查询所有POST请求http://localhost:9200/shopping/_search
{
"query":{
"match_all":{}
}
}
7.文档查询-条件&分页&指定字段&排序
1) 条件:POST请求http://localhost:9200/shopping/_search? q=Made:吉林长春
2) 条件:match: POST请求http://localhost:9200/shopping/_search
{
"query":{
"match":{
"Made":"吉林长春"
}
}
}
3) 分页&指定字段&排序,POST请求http://localhost:9200/shopping/_search
{
"query":{
"match_all":{}
},
"from":0, //第几页
"size":2, //页大小
"_source":["Made"], //指定显示字段
"sort":[{
"Made":{
"order":"desc"
}
}
]
}
8.文档查询-多条件 and (must)
POST请求http://localhost:9200/shopping/_search
{
"query":{
"bool":{
"must": [
{
"match":{
"ProductName":"感康"
}
},
{
"match":{
"Spec":"20"
}
}
]
}
}
}
9.文档查询-多条件 or (should)
POST请求http://localhost:9200/shopping/_search
{
"query":{
"bool":{
"should": [
{
"match":{
"Spec":"10"
}
},
{
"match":{
"Spec":"20"
}
}
]
}
}
}
10.文档查询-全完匹配 (match_phrase)
按单词匹配查询所有,POST请求http://localhost:9200/shopping/_search
{
"query":{
"match_phrase":{
"Made":"吉林长春"
}
}
}
11.文档查询-范围 (range)
POST请求http://localhost:9200/shopping/_search
{
"query":{
"range":{
"Price":{
"gte":11,
"lte":13
}
}
}
}
12.排序字段设置
PUT请求http://localhost:9200/product/_mapping
{
"properties":{
"Spec":{
"type":"text",
"fielddata":true
}
}
}
13.查看文档所在节点
Get请求 http://localhost:9201/product/_search_shards?routing=pPIJrHkBLF9gqXAuMqNt
{
"nodes": {
"rcP5rrMyTyC_653nDhJnUg": {
"name": "node-1002",
"ephemeral_id": "Pxt9vL4JQM6uvmyW3IwsiA",
"transport_address": "127.0.0.1:9302",
"attributes": {
"ml.machine_memory": "8010072064",
"ml.max_open_jobs": "20",
"xpack.installed": "true",
"transform.node": "true"
}
},
"fihAIMiWQX2cm3s-ke1BbA": {
"name": "node-1001",
"ephemeral_id": "d1oVWq_gQta0jajZpIsDvA",
"transport_address": "127.0.0.1:9301",
"attributes": {
"ml.machine_memory": "8010072064",
"xpack.installed": "true",
"transform.node": "true",
"ml.max_open_jobs": "20"
}
}
},
"shards": [
[
{
"state": "STARTED",
"primary": true,
"node": "rcP5rrMyTyC_653nDhJnUg", //节点id
"relocating_node": null,
"shard": 2,
"index": "product",
"allocation_id": {
"id": "2Zt3LWJ8TBWgIr71-8Y4gA"
}
},
{
"state": "STARTED",
"primary": false,
"node": "fihAIMiWQX2cm3s-ke1BbA",
"relocating_node": null,
"shard": 2,
"index": "product",
"allocation_id": {
"id": "ZrkmaERYQWOlzMT7yRWS_A"
}
}
]
]
}