Es概念理解 ▎Es索引库操作 ▎Es文档操作

目录

Es下载安装教程

Es基本概念

[mysql Es Redis区别](#mysql Es Redis区别)

正向索引与倒排索引

Es索引库基本操作

创建索引库

查询索引库

删除索引库

修改索引库

ES文档操作

新增文档


Es下载安装教程

Es下载安装教程https://blog.csdn.net/Dreamkidya/article/details/143302773?sharetype=blogdetail&sharerId=143302773&sharerefer=PC&sharesource=Dreamkidya&spm=1011.2480.3001.8118

Es基本概念

elasticsearch是面向文档存储的,可以是数据库中一条数据记录.文档数据会被序列化为json格式后存储在elasticsearch中

  1. 索引---->mysql中的表
  2. 文档---->mysql中的一条记录
  3. 字段(属性)----->mysql中的列(字段)
  4. 映射----->mysql中的约束,建表时,定义的各种规则,约束

mysql Es Redis区别

mysql安全可靠的存储原始数据,以及数据之间的关系

ES负责进行数据搜索,分析,计算

Redis负责临时数据缓存储存

正向索引与倒排索引

正向索引:Mysql采用正向索引,正向索引基于文档id创建索引.查询词条时必须先找到文档,而后判断是否包含搜索的内容.

倒排索引:elasticsearch采用倒排索引

  1. 文档:每条数据就是一个文档
  2. 词条:文档按照语义分成的词语

存储:按照词条创建文档

倒排索引查询规则:

Es索引库基本操作

创建索引库

mapping 属性

mapping 是对索引库中文档的约束,常见的mapping属性包括:

type:字段数据类型,常见的简单类型有:

字符串:text(可分词的文本),keyword(精确值,例如:品牌,国家,邮箱)

数值:long,integer,short,byte,double,float

布尔:boolean

日期:date

对象:object

index:是否创建索引参与搜索,默认为true,如果不需要参与搜索设置为false

analyze:使用哪种分词器

代码演示:

{

"id":1",

"name":"张三丰",

"age":20,

"height":1.75,

"info":"我叫张三丰,是太极拳创始人",

"email":"6666999888.qq.com"

"state":true

}

创建索引库和mapping的语法如下:

PUT /索引库名

{

"mapping":{

"properties":{

"字段1":{

"type":"keyword"

"index":false

},

"字段2":{

"type":"text"

"analyzer":"ik_max_word"

}

}

}

}

查询索引库

语法: GET /索引库名

示例: GET /new

删除索引库

语法: DELETE /索引库名

实例: DELETE /news

修改索引库

索引库和mapping一旦创建无法修改,但是可以添加新的字段,语法如下:

PUT /news/ _mapping

{

"properties":{

"count":{

"type":"long"

}

}

}

ES文档操作

新增文档

新增文档

语法:

POST /索引库名/_doc/文档id

{

"字段名1":"值1",

"字段名2":"值2",

.....

}

查询文档

语法: GET /索引库名/_doc/文档id

删除文档

语法: DELETE /索引库名/_doc/文档id

修改文档

复制代码
POST /索引库名/_update/文档id

{

         "doc":{

                "要修改的字段":"新值"

        }

}

搜索文档

复制代码
GET /news/_search

{

         "query":{

                "match":{

                        "title":"美国"

                }

        }

}


感谢大家的观看,本次分享就到这里。希望我的内容能够对您有所帮助。创作不易,欢迎大家多多支持,您的每一个点赞都是我持续更新的最大动力!如有不同意见,欢迎在评论区积极讨论,让我们一起学习、共同进步!如果有相关问题,也可以私信我,我会认真查看每一条留言。期待下次再见!

希望路飞的笑容可以治愈努力路途中的你我!

博主vx:Dreamkid05 --->欢迎大家和博主讨论问题

相关推荐
IT_102422 分钟前
Spring Boot的Security安全控制——应用SpringSecurity!
大数据·spring boot·后端
盟接之桥1 小时前
国产替代新标杆|盟接之桥EDI软件让中国制造连接世界更安全、更简单、更有底气
大数据
RestCloud2 小时前
ETLCloud中数据生成规则使用技巧
大数据·服务器·数据库·etl·数字化转型·数据处理·集成平台
vlln6 小时前
【论文解读】OmegaPRM:MCTS驱动的自动化过程监督,赋能LLM数学推理新高度
人工智能·深度学习·神经网络·搜索引擎·transformer
Jack_hrx8 小时前
从0到1构建高并发秒杀系统:实战 RocketMQ 异步削峰与Redis预减库存
大数据·rocketmq·高并发·秒杀系统实战·异步削峰
Double@加贝9 小时前
MaxCompute的Logview分析详解
大数据·阿里云·dataworks·maxcompute
Mr.stupidCoder10 小时前
Git将本地文件推送到GitHub仓库
git·elasticsearch·github
Mikhail_G11 小时前
Python应用八股文
大数据·运维·开发语言·python·数据分析
RocketJ13 小时前
mac电脑.sh文件,用来清除git当前分支
git·elasticsearch·macos
Elastic 中国社区官方博客15 小时前
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
大数据·开发语言·javascript·elasticsearch·搜索引擎·全文检索·apache