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

Elasticsearch 基本语法使用

1、创建索引

1.1 基本语法

PUT <index_name>
  • index_name:索引名称

1.2 索引命名规范

  • 以小写英文字母命名索引
  • 不要使用 驼峰 或者 帕斯卡 命名法则
  • 如过出现多个单词的索引名称,以全小写 + 下划线分隔的方式:如 my_index。

1.3 索引的基本组成

  • alias:即 索引别名,参考:ES中索引别名(alias)的到底有什么用
  • settings:索引设置,常见设置如分片和副本的数量等。
  • mapping:即映射,定义了索引中包含哪些字段,以及字段的类型、长度、分词器等。

2、删除索引

2.1 基本语法

DELETE /<index_name>
  • index_name:索引名称

2.2 判断索引是否存在

HEAD <index_name>

3、索引的不可变性

3.1 哪些参数不可变

ES 索引创建成功之后,索引名称、主分片数量、字段类型、分词器等参数将不可被修改

3.2 有什么影响

造成项目后期难以维护和扩展。

3.3 如何解决

  • 运行时字段
  • 索引别名
  • Reindex

4、索引的查询

4.1 查询特定索引

基本语法

GET /<index_name>/_search 
GET /_search 

可选参数

  • size:单次查询多少条文档,默认为 10
  • from:起始文档偏移量。需要为非负数,默认为0
  • timeout: 指定等待每个分片响应的时间段。如果在超时到期之前未收到响应,则请求失败并返回错误。默认为无超时。

4.2 查询集群中所有索引

_cat/indices

5、索引文档

将 JSON 文档添加到指定的数据流或索引并使其可被检索。如果目标是索引并且文档已经存在,则请求更新文档并增加其版本号。

基本语法

PUT /<target>/_doc/<_id>PUT /<target>/_create/<_id>POST /<target>/_create/<_id>

案例

索引一条 _id 为 1 的文档,并为其添加 test_field 和 test_title 两个字段

PUT test_index/_doc/1?op_type=index
{"name":"赵四","age":18
}

6、查询文档

5.2.1 基本语法

GET <index>/_doc/<_id>

5.2.2 案例

GET product/_doc/1

5.2.3 _source API

使用 _source API 可以打开或者关闭源数据字段,true 为打开,false 为关闭,默认为 true。

GET <index>/_doc/<_id>?_source=false

当然也可以只查看 _source 字段,而不查看任何 mata data。

GET <index>/_source/<_id>

7、删除文档

删除索引中指定 id 的文档

DELETE /<index>/_doc/<_id>

比如:

DELETE product/_doc/1

8、更新文档

POST /<index>/_update/<_id>
{"doc": {"<field_name>": "<field_value>"}
}

注意 :7.x 及之前版本的语法 POST test/_doc/1/_update已不再支持

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 排除挖矿木马
  • Node.js 异步编程深度解析:回调函数、Promise 以及 async/await
  • Vue3 使用 富文本编辑器 wangeditor/editor-for-vue 配置详解
  • MySQL之SUBSTRING 和 SUBSTRING_INDEX函数
  • 个人手机发短信和106短信群发平台的本质区别是什么?
  • 【开发实战】QT5 + 深度学习六大应用案例
  • PCL 移动立方体三维重建——RBF算法【2024最新版】
  • 计算机网络-VRRP工作原理
  • 时下改变AI的6大NLP语言模型
  • 【TDesign】如何修改CSS变量
  • ubuntu 常见问题的收录
  • 【专题】2024全球电商消费电子市场研究报告合集PDF分享(附原数据表)
  • scss中常用的函数
  • 华为云Flexus云服务器X实例与AI大模型融合实践:打造高效智能应用
  • 【C++学习笔记 19】C++中的对象生存周期
  • hexo+github搭建个人博客
  • 【翻译】babel对TC39装饰器草案的实现
  • CSS实用技巧
  • java小心机(3)| 浅析finalize()
  • js学习笔记
  • Mac转Windows的拯救指南
  • markdown编辑器简评
  • Netty源码解析1-Buffer
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • Spring-boot 启动时碰到的错误
  • sublime配置文件
  • XForms - 更强大的Form
  • 百度地图API标注+时间轴组件
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 缓存与缓冲
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 你不可错过的前端面试题(一)
  • 入口文件开始,分析Vue源码实现
  • 入手阿里云新服务器的部署NODE
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 阿里云移动端播放器高级功能介绍
  • 第二十章:异步和文件I/O.(二十三)
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • $jQuery 重写Alert样式方法
  • (C语言)球球大作战
  • (pycharm)安装python库函数Matplotlib步骤
  • (python)数据结构---字典
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (zt)最盛行的警世狂言(爆笑)
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (回溯) LeetCode 40. 组合总和II
  • (回溯) LeetCode 77. 组合
  • (六)vue-router+UI组件库
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (四十一)大数据实战——spark的yarn模式生产环境部署