前面学习了ElasticSearch的概况以及一些配套插件的安装。这篇旨在记录对ES结构的了解和一些基本的操作。
ElasticSearch结构:
对于ES来说,有几个专有名词。比如索引,类型,id这些东西,甚至是倒排插序等等。对于ES来说,ES的基本结构大致为下
拿传统的关系DB对比:
· ElasticSearch相当于关系DB
· 索引(Indices)相当于database数据库
· 类型(type)相当于数据库中的一个表
· 文档(document)相当于表中的某一行
· 字段(field)相当于每一列字段的数据
但是优点不一样的是:关系DB给人的感觉更严谨(还是繁琐),比如他的数据库要进行建立数据库,建表,让才能插值。而ES通过简单的API可以直接插入,如果没有该索引会直接建立。同样,再更改数据也是一样。操作起来更像我们平时用起来的Nosql,map之类。这样的便捷又难免让人担心ES的严谨性,如果不慎的操作可能带来的影响较大,不过还好ES支持文件备份。
ElasticSearch基本操作:增删改查
ES中常用的请求方式有:
PUT 表示增加
GET 表示获取
DELETE 表示删除
UPDATE 表示更新
ElasticSearch基本操作:增
1.创建索引
PUT bigsai
2.查看是否创建成功
GET _cat/indices?v
3.插入数据(可直接连同索引创建)
再次GET _cat/indices?v查看发现索引直接被创建。其中
_index 表示哪个索引
_type 表示哪个表
_id 主键
_version 版本
found 数据存在
_source: 数据内容
ElasticSearch基本操作:删
1.删除数据
直接DELETE {索引}/{类型}/{主键} 即可
可能会好奇get 后面的pretty干啥的,百度上说没啥大用,是为了简洁给出的结果。
2.删除索引
DELETE {索引名称}
可以看到前面的bigsai索引已经被删除了。
ElasticSearch基本操作:改
修改数据有两种方式:第一种类似插入覆盖的思想,第二种比较纯正,但是效果一致
查看数据,直接GET下去,查询索引,GET _cat/indices?v
附上上述操作的一些指令,再kibana中进行。http://localhost:5601/app/kibana#/dev_tools/console?_g=()
PUT index1/type1/id1 { "name":"test" } GET _cat/indices?v GET index1/type1/id1?pretty PUT index1/type1/id2 { "school":"just" } GET index1 DELETE index1/type1/id1 GET index1/type1/id1?pretty DELETE bigsai GET _cat/indices?v PUT index1/type1/id2 {"school":"江科大"} POST index1/type1/id2/_update {"doc":{"school":"江科大"}} GET index1/type1/id2?pretty
学会这些,对ES结构有了初步了解,能够简单呃储存信息。下一步学习目标:学习一些主要查询—>结合javaAPI—>在服务器环境运行。