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 --->欢迎大家和博主讨论问题

相关推荐
孟猛202317 分钟前
使用 C++ 调用 Elasticsearch API
elasticsearch
线条118 分钟前
Spark 单机模式安装与测试全攻略
大数据·分布式·spark
老周聊架构33 分钟前
大数据领域开山鼻祖组件Hadoop核心架构设计
大数据
TDengine (老段)6 小时前
TDengine 使用最佳实践(2)
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
Deng9452013147 小时前
基于大数据的电力系统故障诊断技术研究
大数据·matplotlib·深度特征提取·随机森林分类算法·标签编码
小菜鸡062610 小时前
FlinkSQL通解
大数据·flink
寅鸷10 小时前
es里为什么node和shard不是一对一的关系
大数据·elasticsearch
码字的字节12 小时前
深入解析Hadoop架构设计:原理、组件与应用
大数据·hadoop·分布式·hadoop架构设计
阿里云大数据AI技术14 小时前
云上AI推理平台全掌握 (3):服务接入与全球调度
大数据·人工智能·深度学习
时序数据说15 小时前
如何选择时序数据库:关键因素与实用指南
大数据·数据库·物联网·时序数据库·iotdb