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

目录

Es下载安装教程

Es基本概念

mysql Es Redis区别

 正向索引与倒排索引

Es索引库基本操作

创建索引库

查询索引库

删除索引库

修改索引库

ES文档操作

新增文档


Es下载安装教程

Es下载安装教程icon-default.png?t=O83Ahttps://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 --->欢迎大家和博主讨论问题 

猜你喜欢

转载自blog.csdn.net/Dreamkidya/article/details/143253533