Elasticsearch学习笔记3:关于索引文档的CRUD操作(kibana)
Posted Vincent9847
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch学习笔记3:关于索引文档的CRUD操作(kibana)相关的知识,希望对你有一定的参考价值。
一、
环境:ES 7.6.x 、kibana
一、关于索引的基本操作
1.创建一个索引
PUT /索引/~类型名/文档id
put /test1/user/1
"name":"xiaoyi",
"age":3
]
2.指定字段类型
put /test1
"mappings":
"properties":
"name":
"type": "text"
,
"age":
"type": "long"
,
"birthday":
"type": "date"
3.查看默认信息
get test1
4.修改数据
post /test1/_doc/1/_update
"doc":
"name":"xiaoyiyi"
5.删除索引
delete test1
二、关于文档的基本操作
1.添加数据
PUT /test1/user/1
"name": "xiaoyi",
"age": 3,
"desc": "全干工程师",
"tags": ["技术宅","温暖","直男"]
2.获取数据
get test1/user/1
3.更新数据
更新1:
PUT /test1/user/1
"name": "xiaoyi1",
"age": 30,
"desc": "用这种方式更新,假如没有写tags的内容,则更新后tags为空!",
"tags": ["美女","旅游","唱歌"]
更新2:
POST test1/user/1/_update
"doc":
"name": “xiaoyi11"
4.查询数据
get test1/user/_search?q=name:xiaoyi
三、复杂查询
1.查询query、排序sort、分页
GET test1/user/_search
"query": #查询
"match":
"name": "xiaoyi"
,
"sort": [ #排序
"age":
"order": "asc"
],
"from": 0, #分页:从第几条开始
"size": 10 #返回多少条数据(单页面数据)
2.布尔值查询
1.多条件查询must(相当于and)
GET test1/user/_search
"query":
"bool": #布尔值查询
"must":[ #多条件查询,must相当于and
"match":
"name":"xiaoyi"
,
"match":
"age":23
]
2.或should查询(相当于or)
GET test1/user/_search
"query":
"bool": #布尔值查询
"should":[ #should相当于or
"match":
"name":"xiaoyi"
,
"match":
"age":23
]
3.非查询must_not
GET test1/user/_search
"query":
"bool": #布尔值查询
"must_not":[ #查询年龄不是23岁的
"match":
"age":23
]
4.过滤查询
- gt:大于
- gte:大于等于
- lt:小于
- lte:小于等于
GET test1/user/_search
"query":
"bool": #布尔值查询
"must":[ #多条件查询,must相当于and
"match":
"name":"xiaoyi"
],
"filter": #查询年龄小于10岁的
"range":
"age":
"lt":10
3.匹配查询
多个条件使用空格隔开,只要满足其中一个结果既可以被查出,这个时候可以通过分值基本的判断
GET test1/user/_search
"query":
"match":
"tags":"男 技术“
4.精确查询
analyzer:"keyword"
analyzer:"standard"
keyword字段类型不会被分词器解析。
精确查询多个值:
GET test1/_search
"query":
"bool": #布尔值查询
"should":[ #should相当于or
"term":
"t1":"22"
,
"term":
"t2":"33"
]
5.高亮查询
搜索的相关结果高亮显示!
GET test1/user/_search
"query":
"match":
"name":"xiaoyi"
,
"highlight":
"fields":
"name"
自定义搜索高亮显示:(就是自定义标签)
GET test1/_search
"query":
"match":
"name":"xiaoyi"
,
"highlight":
"pre_tags":"<p class='key' style='color:red'>",
"post_tags":"</p>",
"fields":
"name":
以上是关于Elasticsearch学习笔记3:关于索引文档的CRUD操作(kibana)的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch学习笔记3:关于索引文档的CRUD操作(kibana)
Elasticsearch学习笔记3:关于索引文档的CRUD操作(kibana)
Elasticsearch - 尚硅谷(3. Elasticsearch 基本操作_上)学习笔记