Elasticsearch--------索引
Elasticsearch--------索引
- 索引
- 索引的概念
- es索引
- 索引的REST-API
- 创建索引
- 查询索引
- 查询一个索引
- 单个属性
- 修改索引
- 删除索引
- 打开关闭索引
- 索引分片和副本
- 查询所有的索引
索引
索引的概念
一批有顺序,有数据结构的数据,按照数据结构计算可以帮助在搜索查询时,快速定位到目标。
例子:
词典-拼音查字法,偏旁部首查字法
超市-牌子(生鲜)
图书馆–书号109
es索引
在es中,可以生成多个索引index(indices)。每个index中都可以独立的保存一份数据,和mysql中的database
比较
索引的REST-API
创建索引
curl -XPUT http://localhost:9200/indexname?pretty
得到的响应
注意:如果要创建一个已存在的索引,ES会返回错误信息,不能重复在同一个ES集群中创建相同名称的索引
查询索引
每一个ES的索引,都有3个属性,aliases别名,settings设置,mapping映射,可以查询所有属性,也可以查询一个属性
查询一个索引
curl -XPUT http://localhost:9200/indexname?pretty
对ES中一个索引数据叫做indexName做查询操作返回查询数据
例如:我可以查询一下创建的索引indexName
curl -XGET http://localhost:9200/indexname?pretty
单个属性
aliases和mapping和settings都可以单独查询
curl -XGET http://localhost:9200/indexname/index-field?pretty
index-field:
例如想要查询一个索引的单个属性
修改索引
可以向索引的三个属性中添加对应的数据–修改索引,没有修改索引名称的Rest-api,需要将索引删除,重建
删除索引
curl -XDELETE http://localhost:9200/indexname?pretty
打开关闭索引
以及生成的索引中,可以通过打开关闭索引,对索引进行控制,关闭的索引不可使用,可以对老旧数据做尘封状态,等待使用时再打开,节省es资源
索引分片和副本
每当es中创建索引时,es都会基于分布式高可用计算,对索引进行分片创建和副本创建
index_shards_number:分片个数默认是1
index_shards_replicas:副本个数,默认是1(从分片绝不会和朱=主分片坐落在同一个节点)
对于一个已经创建好的索引,可以修改ES的副本个数,但是创建好的分片,分片个数是固定的。
- 创建索引同时设置副本个个数
curl -XPUT http://localhost:9200/index002?pretty -d '{"settings":{"index":{"number_of_replicas":0}}}' -H 'Content-Type:application/json'
- 创建索引同时设置分片个数
curl -XPUT http://localhost:9200/index003?pretty -d '{"settings":{"index":{"number_of_replicas":0,"number_of_shards":10}}}' -H 'Content-Type:application/json'
- 动态修改分片的副本个数
curl -XPUT http://localhost:9200/index003/_settings?pretty -d '{"number_of_replicas":10}' -H 'Content-Type:application/json'
查询所有的索引
获取所有的索引
curl -XGET http://localhost:9200/_cat/indices?v
curl -XGET http://localhost:9200/indexName/_search?pretty
发布评论