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