ElasticSearch 基本概念和基础操作
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ElasticSearch 基本概念和基础操作,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2779字,纯文字阅读大概需要4分钟。
内容图文
安装
- ElasticSearch -> 参考官方文档,下载压缩包解压即可使用
- ElasticSearch head → 相当于一个可视化工具,用来查看数据 -> 可以直接安装浏览器插件
- kibana (查询工具) -> 参考官方文档,下载压缩包解压即可使用
- ik 分词器(中文分词器) → GitHub 下载后直接下载放入 plugins 目录 → 在config目录下可以配置自己的词典
核心概念
关系型数据库 | ElasticSearch |
---|---|
数据库 database | 索引 index |
表 table | 类型 type |
行 row | 文档 document |
字段 columns | 字段 fields |
集群
集群(cluster) 是一个或多个节点的集合。
节点
节点(node) 是一个 elasticsearch 的运行实例,也就是一个进程,多个节点组成集群,节点存储数据,并参与集群的索引、搜索和分析功能。
索引
索引(index) 是具有某种相似特性的文档集合。(我感觉索引更像是 MySQL 中的表的概念)特别是7.0版本取消了类型的概念,如果把文档看做一条数据,索引是拥有多个相同结构文档的集合,也就是表。
文档
文档(document) 是可以被索引的基本信息单元。JSON文档。
分片
分片是索引的水平拆分。当一个索引的数据量太大,可以把一个索引拆分成多个分片,每个分片本身都是具有完整功能的“独立索引”,可以分布在集群中的任何节点上。每个分片都是一个完整的 Lucene 索引。
一般在创建索引的时候就要预判分片数量并创建,分片的数量理论上不可变更,唯一的办法重建索引。
副本
每个分片都可以有一个或多个备份,分片的副本会部署在不同节点上,在分片或节点发生故障时提供高可用性。
副本也可以用于搜索,可以提高搜索性能和水平扩展吞吐量。类似于主从分离,一主多从。
分片和副本的区别和联系
- 本质上都是完整的 Lucenes 索引
- 假设一个索引定义了3个分片、2个副本,那么总共就有9个分片,其中3个主分片,每个分片有2个副本。主分片就是建立索引时首先建立的分片,或者说当主分片失效时会重新选择出一个副本作为主分片
- 当索引(插入数据)时,数据会首先到达主分片,然后再把请求分发到其他副本
- 当搜索(查询数据)时,主分片和副本都可以接受请求、搜索和分析数据,二者没有区别
基础操作
关于索引的基本操作
创建索引并添加一个数据(这种创建方式貌似已经过时,type将在7.x版本被废弃)
PUT /索引名/~类型名~/文档id
{请求体}
完成了自动增加索引!数据也成功的添加了,这就是我们在初期可以把es当做数据库学习的原因!
创建索引,指定字段类型
PUT /索引名
{
"mappings": {
"properties": {
"字段名": {
"type": "字段类型"
},
"name": {
"type": "text"
},
"age": {
"type": "long"
},
"birthday": {
"type": "date"
}
}
}
}
查询操作
通过get请求获取索引具体的信息
创建时插入一条数据,不指定字段类型,es会自动给字段分配类型
_doc 是在type被废弃后的默认type
扩展命令
通过 GET /_cat 可以获得es很多信息
修改索引
有多种方式可选
删除索引和文档
关于文档的基本操作
简单命令
添加数据
查询数据
复杂查询
查询出来的hits对象包含哪些东西
过滤结果,相当于 select name, desc .......
排序
分页查询
布尔查询
must (相当于 and) 所有条件都要匹配
should (相当于 or) 部分条件匹配
must not (相当于 not)
过滤结果集和进行范围查询
gt 大于 gte 大于等于 lt 小于 lte 小于等于
匹配多个条件,匹配条件越多,分值越高
keyword 和 text, 精确匹配和模糊匹配,keyword 类型的字段不会被分词器解析
term 精确查询,不使用分词器解析
match 使用分词器解析
高亮显示
自定义高亮标签
<全文完>
内容总结
以上是互联网集市为您收集整理的ElasticSearch 基本概念和基础操作全部内容,希望文章能够帮你解决ElasticSearch 基本概念和基础操作所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。