ElasticSearch学习
数据格式
Elasticsearch 是面向文档型的数据库,一条数据在这里就是一个文档。es里面的概念和关系型数据库中的概念比对如下,可以依此进行理解:
索引操作
创建索引
对比关系型数据库,创建索引就等同于创建数据库。
在Postman中,向ES服务器发送put请求:http://localhost:9200/shopping
查询索引
查询索引用的是get请求:
如果想查询当前ES所有的index(索引),怎么查呢?需要发送如下的get请求:
http://localhost:9200/_cat/indices?v
删除索引
发送DELETE请求:http://localhost:9200/shopping
文档操作
创建文档
索引已经创建好了,接下来我们创建文档,并添加数据。这里的文档可以类比为关系型数据库中的表数据,添加的数据格式为JSON格式。
在Postman中,向ES服务器发送POST请求:http://localhost:9200/shopping/_doc
请求体内容为:
{
"titile": "小米手机",
"category": "小米",
"images": "http://www.gulixueyuan.com/xm.jpg",
"price": 3999.00
}
_doc
就是表示文档,表示数据的意思,所以添加数据,就是用 _doc
注意上面的post请求,返回数据中的 _id
是该条数据的id,是ES服务器随机生成的。
如果我们想自定义生成数据的id,可以吗?答案是可以的,只需要在请求时携带我们自定义的ID即可:
POST http://localhost:9200/shopping/_doc/1001
查询文档
上面是根据ID单个查询的数据,如果想查询出这个索引下所有的数据?
GET http://localhost:9200/shopping/_search