当前位置: 首页 > news >正文

ElasticSearch学习2

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 /people

3、删除索引

DELETE /people

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报错

 

2、3查询数据

GET /索引名称/类型名称/文档id      根据id查询单条数据

 查询数据不存在时:

 2、4删除数据

删除数据是逻辑删除

 3、复杂查询

1、查询所有(默认返回结果是分页的,只返回了第一页10条)

 2、带条件查询

 只查询想要的字段_source指定

 3、分页查询

from 第几页,size每页数量

 4、排序

5、多条件查询&范围查询

 

http://www.lryc.cn/news/133918.html

相关文章:

  • 3D角色展示
  • 前端面试:【Angular】打造强大Web应用的全栈框架
  • 数据结构:栈和队列
  • SpringCloud Gateway服务网关的介绍与使用
  • 深入解析:如何打造高效的直播视频美颜SDK
  • 每日一博 - MPP(Massively Parallel Processing,大规模并行处理)架构
  • ssh框架原理及流程
  • eslint 配置和用法
  • 字符设备驱动实例(PWM和RTC)
  • Ribbon 源码分析
  • 【1-3章】Spark编程基础(Python版)
  • 宇宙原理:黑洞基础。
  • 分类预测 | MATLAB实现SCNGO-CNN-LSTM-Attention数据分类预测
  • Android学习之路(7) Frament
  • metallb , istio ingress 部署httpbin使用例子
  • 基于swing的销售管理系统java仓库库存信息jsp源代码mysql
  • FreeCAD傻瓜式教程之约束设定和构建实体、开孔、调整颜色等
  • 代码随想录算法训练营day41 | 343. 整数拆分,96. 不同的二叉搜索树
  • 飞天使-k8sv1.14二进制安装
  • TypeScript封装Axios
  • 指针(一)【C语言进阶版】
  • 回归预测 | MATLAB实现SA-BP模拟退火算法优化BP神经网络多输入单输出回归预测(多指标,多图)
  • springMVC 已解密的登录请求
  • 机器学习赋能乳腺癌预测:如何使用贝叶斯分级进行精确诊断?
  • Java后端开发面试题——框架篇
  • 【新版】系统架构设计师 - 系统测试与维护
  • 使用 useEffect 和 reactStrictMode:优化 React 组件的性能和可靠性
  • 商业智能BI是什么都不明白,如何实现数字化?
  • 【五子棋】
  • docker 01(初识docker)