1、索引的操作
1、创建索引
对ES的操作其实就是发送一个restful请求,kibana中在DevTools中进行ES操作
创建索引时需要注意ES的版本,不同版本的ES创建索引的语句略有差别,会导致失败
如下创建一个名为people的索引,settings,一些设置,mappings字段映射
PUT people
{
"settings":{
"number_of_shards":3,
"number_of_replicas":1
},
"mappings":{
"man":{
"properties":{
"name":{
"type":"text"
},
"country":{
"type":"keyword"
},
"age":{
"type":"integer"
},
"date":{
"type":"date",
"format":"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
}
}
}
}
}
我的版本是7.0之前的老版本,需要指定索引类型,所以需要带上,如果是7.0之后的可以用下方语句
PUT people1
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 1
},
"mappings": {
"properties": {
"name": {
"type": "text"
},
"country": {
"type": "keyword"
},
"age": {
"type": "integer"
},
"date": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
}
}
}
}
索引创建成功
2、查询索引信息
GET /_cat/indices?v 查看所有索引
GET /people
3、删除索引
DELETE /people
4、索引库新增字段
索引库是不允许进行修改的,但是可以进行新增字段
2、数据操作
有了索引以后,就相当于有了表,然后就可以对表进行增、删、改、查数据。
2、1 添加数据
- PUT /索引名/类型名/文档id:创建一个指定id的文档
- POST /索引名/类型名: 不指定ID插入时会自动生成,需要使用POST请求
以下三种方式请求是正确的:
put /test_1/test/1
{
"id":1,
"name":"小明",
"age":20,
"desc":"三好学生",
"depName":"中学部"
}
post /test_1/test
{
"id":2,
"name":"小红",
"age":22,
"desc":"三好学生干部",
"depName":"小学部"
}
post /test_1/test/3
{
"id":3,
"name":"小张",
"age":18,
"desc":"优秀干部",
"depName":"大学部"
}
put请求后必现跟文档id,否则报错
2、2修改数据
通过继续提交PUT覆盖原来的值,需要带文档id,不带报错
POST请求不加文档id和_update,表示的是新增数据
添加了文档id报错
PUT /索引名/类型名/文档id,既可以新增也可以修改
先根据id查询文档,如果索引库中有该字段,就先删除旧文档然后新增
如果没有,就直接新增,是全量修改
POST /索引名/类型名 表示新增或修改,修改时可单独修改某个字段
其他版本修改可能为POST /索引库名/_update/文档id
2、3查询数据
GET /索引名称/类型名称/文档id 根据id查询单条数据
查询数据不存在时:
2、4删除数据
删除数据是逻辑删除
3、复杂查询
1、查询所有(默认返回结果是分页的,只返回了第一页10条)
或
2、带条件查询
match 根据单个字段搜索,如下查询名称为小红的数据
- multi_match查询:多字段查询,任意一个字段符合条件就算符合查询条件
- multi_match:从哪些字段中检索,指的是查询条件
- _source:查询的结果包含哪些字段,指的是元数据
只查询想要的字段_source指定
3、分页查询
from 第几页,size每页数量
文章来源:https://www.toymoban.com/news/detail-687068.html
4、排序
文章来源地址https://www.toymoban.com/news/detail-687068.html
更多查询可参考https://blog.csdn.net/qq_44954571/article/details/122823297
到了这里,关于ElasticSearch学习2--索引和文档的基础操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!