索引的创建及删除
1. 通过索引一篇文档创建了一个新的索引 。这个索引采用的是默认的配置,新的字段通过动态映射的方式被添加到类型映射。
利用Kibana提供的DevTools来执行命令,要创建一个索引
put /sdb (其中sdb为一个索引)
创建成功后会返回如下结果
{ "acknowledged" : true, "shards_acknowledged" : true, "index" : "sdb"
}
如果你想禁止自动创建索引,你 可以通过在 config/elasticsearch.yml
的每个节点下添加下面的配置:
action.auto_create_index: false
{ "sdb" : { "aliases" : { }, "mappings" : { }, "settings" : { "index" : { "creation_date" : "1552621484634", "number_of_shards" : "5", //每个索引的主分片数,默认值是 5 。这个配置在索引创建后不能修改。 "number_of_replicas" : "1", //每个主分片的副本数,默认值是 1 。对于活动的索引库,这个配置可以随时修改。 "uuid" : "PQ1TSt5hQOua_cUAegrYmw", "version" : { "created" : "6060299" }, "provided_name" : "sdb" } } } }
如果想修改副本数,可以用 update-index-settings
API 动态修改副本数:
PUT /sdb/_settings { "number_of_replicas": 1 }
再次使用GET /sdb进行查看
上面我们说了如何创建一个索引,那么接下来我们来说说如何删除一个索引
DELETE /sdb
删除成功后会有以下提示:
{ "acknowledged" : true }
mapping映射
映射是创建索引的时候,可以预先定义字段的类型以及相关属性
Elasticsearch会根据JSON源数据的基础类型去猜测你想要的字段映射。将输入的数据变成可搜索的索引项。Mapping就是我们自己定义字段的数据类型,同时告诉Elasticsearch如何索引数据以及是否可以被搜索。
作用:会让索引建立的更加细致和完善
类型:静态映射和动态映射
静态映射
动态映射
什么是动态映射
文档中碰到一个以前没见过的字段时,动态映射可以自动决定该字段的类型,并对该字段添加映射
如何配置动态映射
适用范围
适用在根对象上或者object类型的任意字段上
string类型: text,keyword(string类型在es5已经被弃用)
数字类型:long, integer, short, byte, double, float
日期类型: date
bool类型: boolean
binary类型: binary
复杂类型: object ,nested
geo类型: point , geo-shape
专业类型: ip, competion
mapping 限制的type
创建mapping
PUT lagou { "mappings": { "job":{ "properties": { "title":{ "type":"text" }, "salary_min":{ "type":"integer" }, "city":{ "type": "keyword" }, "company":{ "properties": { "name":{ "type":"text" }, "company_addr":{ "type":"text" }, "employee_count":{ "type":"integer" } } }, "publish_date":{ "type":"date", "format": "yyyy-MM-dd" }, "comments":{ "type": "integer" } } } } }
PUT lagou/job/1
#当类型不符合的时候他会尝试去转换类型,比如字符串的数字和数字类型,但是如果无法转换就会报错。
{ "title":"python分布式web开发", "salary_min":15000, "city":"北京", "company":{ "name":"百度", "company_addr":"软件园", "employee_count":50 }, "publish_date":"2017-4-16", "comments":15 }
#获取映射
GET lagou/_mapping GET lagou/_mapping/job GET _all/_mapping/job
Elasticsearch索引的操作,利用kibana 创建/删除一个es的索引及mapping映射
原文:https://www.cnblogs.com/xiaozengzeng/p/12355237.html