ElasticSearch 简单认识

概念

elastic 的集群 相当于 mysql的数据库

elastic 的索引 相当于 mysql 的表

elastic 的文档 相当于 mysql 的数据行

elastic 的字段 相当于 mysql 的列

下列操作是在kibana中执行的。我的腾讯云中的用docker拉了elasticsearch和kibana了,通过http://43.143.182.32:9200/访问elasticsearch和通过http://43.143.182.32:5601/app/dev_tools#/console访问kibana控制台

索引操作

#创建索引
# PUT 索引名称(小写)
PUT test_index

#判断索引是否已存在
# HEAD 索引 (HTTP状态码:200 , 404)
HEAD test_index

#查询索引
# GET 索引名称
GET test_index

#查询所有索引
GET _cat/indices

文档操作

#创建索引
# PUT 索引名称(小写)
PUT test_doc

#新加数据
# PUT 索引名/_doc/自定义id(不加id会创建失败)
PUT test_doc/_doc/0001
{
  "name" : "张三",
  "age" : 19
}

#新加数据
# POST 索引名/_doc/自定义id(不加id会自动创建id)
POST test_doc/_doc/0004
{
  "id" : "0004",
  "name" : "张三",
  "age" : 19
}

#根据id查看文档
# GET 索引名/_doc/_id值
GET test_doc/_doc/0001

#查询索引中所有数据
# GET 索引名/_search
GET test_doc/_search

#修改数据
PUT 索引名/_doc/要修改的文档id
PUT test_doc/_doc/0001
{
  "name":"小王"
}

# 删除数据
DELETE 索引名/_doc/要删除的文档的id
DELETE test_doc/_doc/0001


# 批量新增 
PUT 索引名/_bulk(批量的json不能换行,必须一行是一个完整的json)
PUT test_doc/_bulk
{"index":{"_index":"test_doc","_id":"10001"}}
{"id":"10001","name":"张三","age":18}
{"index":{"_index":"test_doc","_id":"10002"}}
{"id":"10002","name":"李四","age":18}
{"index":{"_index":"test_doc","_id":"10003"}}
{"id":"10003","name":"王五","age":20}

ES中的sql语法

# sql 语法 (跟mysql基本一致)
# 查询test_doc索引中的age < 20 的数据
POST _sql?format=txt
{
  "query": """
  select * from "test_doc" where age < 20
  """
}
posted @   木糖醇困了  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示