ES 基本概念及操作


数据分类

  1. 结构化数据
  2. 非结构化数据
  3. 半结构化数据

Elastic Stack 的核心

ElasticSearch 安装

es 的光放地址: https://www.elastic.co/cn/
下载版本: 7.8.0

启动文件

注意: 9300端口为ES 集群间组件的通信端口,9200端口为浏览器访问的http协议Restful端口

问题解决

打不开?
ElasticSearch 是使用java开发的,且7.8版本的ES 需要JDK 版本1.8以上,默认安装包带有jdk环境,如果系统配置JAVA_HOME,name使用
默认的JDK,如果没有配置使用自带的JDK,一般建议使用系统配置的JDK

双击启动窗口闪退?
通过路径追踪错误,如果是"空间不足",请修改
config/jvm.options配置文件

# 设置JVM 初始内存为1G,此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存

# 设置JVM最大可用内存为1G

-Xmslg
-Xmxlg

ES 数据格式

Elasticsearch 是面向文档型数据库,一条数据在这里就是一个文档

ES 里的Index 可以看做是一个库,而Types相当于表,Documents则相当于表的行
这里Types的概念已经被逐渐弱化,ES6.x中,一个index下已经只能包含一个type,Es7.x中,Type的概念已经被删除了

倒排索引

通过关键字锁定主键索引,从而到处该数据

正排(正向)索引

musql中通过主键,锁定对应数据

ES索引操作

创建索引 PUT

对比关系型数据库,创建索引就等同于创建数据库
Postman中向ES 服务器发送PUT请求:http:127.0.0.1:8200/shopping 创建一个shopping的index

获取某个索引 GET

获取所有索引 v 表示详细信息

删除索引 DELETE

ES 文档操作

在Postman中 向ES 服务器发送POST请求,http://127.0.0.1:9200/shopping/_doc _doc表示索引中添加文档

成功后的返回值

_id :数据的随机唯一标识,类似于主键,每次添加都不一样,当然也可以通过这个标识进行查询,但是这个_id并不好记,可以自定制

查询刚刚添加的单条文档数据

_doc/文档标识ID

查询本索引下的所有的文档数据

_search

修改

完全覆盖之前的文档数据

PUT : http://127.0.0.1:9200/shopping/_doc/1001/
需要覆盖的内容

{"title":"华为手机","price":3999.00,"cateory":"华为"}

局部字段更新

POST http://127.0.0.1:9200/shopping/_doc/1001/

需要更新的字段

{
    "doc":{   // doc表示明确指定更新
        "title":"华为手机",
        "price":399.00
    }
}

ES 条件查询

指定字段查询

http://127.0.0.1:9200/shopping/_search?q=title:小米
由于url中携带中文容易出现乱码的情况,所以改成通过请求体来发送查询参数

http://127.0.0.1:9200/shopping/_search

{
    "query":{  // query 表示本操作为查询
        "match":{ // match 表示匹配查询
            "title":"小米"
        }
    }
}

全量查询 + 分页


{
    "query":{  // query 表示本操作为查询
        "match_all":{ // match_all表示全量查询,配合分页查询
        }
    },
    "from" : 0,  // 表示第一页的起始位置 第二页为(页码-1)*每页数据条数 (2-1) * 10
    "size" : 10, // 每一页多少条数据
    "_source" : ["title"],  // 只显示title字段
    "sort" : {
          "price":{    // 指定字段进行排序
              "order":"desc"  // 降序排列
            }
        }

}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM