Elasticsearch 基本语法使用

1、创建索引

1.1 基本语法

java 复制代码
PUT <index_name>
  • index_name:索引名称

1.2 索引命名规范

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

1.3 索引的基本组成

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

2、删除索引

2.1 基本语法

java 复制代码
DELETE /<index_name>
  • index_name:索引名称

2.2 判断索引是否存在

java 复制代码
HEAD <index_name>

3、索引的不可变性

3.1 哪些参数不可变

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

3.2 有什么影响

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

3.3 如何解决

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

4、索引的查询

4.1 查询特定索引

基本语法

java 复制代码
GET /<index_name>/_search 
GET /_search 

可选参数

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

4.2 查询集群中所有索引

java 复制代码
_cat/indices

5、索引文档

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

基本语法

json 复制代码
PUT /<target>/_doc/<_id>

PUT /<target>/_create/<_id>

POST /<target>/_create/<_id>

案例

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

json 复制代码
PUT test_index/_doc/1?op_type=index
{
  "name":"赵四",
  "age":18
}

6、查询文档

5.2.1 基本语法

json 复制代码
GET <index>/_doc/<_id>

5.2.2 案例

json 复制代码
GET product/_doc/1

5.2.3 _source API

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

json 复制代码
GET <index>/_doc/<_id>?_source=false

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

json 复制代码
GET <index>/_source/<_id>

7、删除文档

删除索引中指定 id 的文档

json 复制代码
DELETE /<index>/_doc/<_id>

比如:

json 复制代码
DELETE product/_doc/1

8、更新文档

json 复制代码
POST /<index>/_update/<_id>
{
  "doc": {
    "<field_name>": "<field_value>"
  }
}

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

相关推荐
Ai拆代码的曹操5 小时前
Git 集成:AI 代理中的版本控制工作流设计
大数据·git·elasticsearch
Elasticsearch8 小时前
Elastic Observability 更新后的指标定价:业界领先的指标能力 —— 现在成本也更低!
elasticsearch
Elasticsearch8 小时前
Elastic 新的指标能力将显著提升公共部门 IT 的正常运行时间
elasticsearch
Elasticsearch11 小时前
Elastic 作为创始成员加入 Open Secure AI Alliance,与 NVIDIA 及行业领导者共同推动 AI 安全与保障
elasticsearch
Elasticsearch11 小时前
你的 agents 一直在记录凭证:将 Elastic Agent Builder 内置的 OTel traces 转换为 Kibana 中的 token 成本
elasticsearch
Elasticsearch12 小时前
一个提示词,一个完整工作流:Elastic 的 AI agent 为你编写自动化流程
elasticsearch
暖和_白开水13 小时前
数据分析agent(十三_7):meta_demo:ES
elasticsearch·数据挖掘·数据分析
Elasticsearch14 小时前
快 17% 的搜索,零配置:Elasticsearch 中的自动校准向量量化
elasticsearch
@Demi16 小时前
前端开发 Git 分支与 Tag 管理规范
大数据·git·elasticsearch
流量猎手1 天前
GitHub 使用说明
大数据·elasticsearch·github