程序员小强总结的 ElasticSearch专题超全总结篇在这里:传送门
结合官网资料,做了更详细的实际使用总结。
从单机版安装到集群高可用生产环境搭建、基本概念(索引,分片,节点,倒排索引…)、DSL语法实践、分词器(内置+中文)、SpringBoot整合实战、仿京东商品搜索实战实现。
1.查看索引
#查看所有索引
GET /_cat/indices#查看指定索引文档总数
GET movies/_count#查看所有索引文档总数
GET _all/_count#查看单个索引分片信息
GET /_cat/shards/my_index?v
2.创建索引
2.1指定分片数量
2个分片,2个副本
#创建索引(并且指定分片数量)
PUT my_index1
{
"settings": {
"number_of_shards": 2,"number_of_replicas": 2}
}
PUT "localhost:9200/test_index?pretty"
2.2指定分片数量与Mapping映射
PUT /my_index2
{
"settings": {
"number_of_shards":2,"number_of_replicas":2},"mappings": {
"properties": {
"id":{
"type": "integer"},"name":{
"type": "keyword"},"age":{
"type": "long"},"desc":{
"type": "text"},"birthday":{
"type": "date"}}}
}
3.查看索引信息
#查看某个索引
GET my_index1
4.删除索引
DELETE /test_index
5.修改分片副本
PUT my_index1/_settings
{
"index": {
"number_of_replicas": "4"}
}
备注:number_of_shards 分片,不能修改
6.新增Mapping映射
POST /my_index2/_mapping
{
"properties": {
"phone":{
"type": "keyword"}}
}
注:只能新增字段,不能删除字段,一旦设置type类型,不可更改。
为什么不能修改一个字段的type?原因是一个字段的类型修改以后,那么该字段的所有数据都需要重新索引。Elasticsearch底层使用的是lucene库,字段类型修改以后索引和搜索要涉及分词方式等操作。
7.索引占用内存大小
#查看各索引占用内存大小并倒叙
GET _cat/indices?v&h=i,tm&s=tm:desc
8.查看索引文档数
#查看指定索引文档数
GET my_index3/_count#查看所有索引文档数
GET _all/_count
9.按照文档数量排序索引
#按照文档数量排序索引
GET _cat/indices?v&s=docs.count:desc
10.根据健康状态查询索引
#查看状态为绿的索引
GET /_cat/indices?v&health=green#查看状态为黄的索引
GET /_cat/indices?v&health=yellow#查看状态为红的索引
GET /_cat/indices?v&health=red
关注程序员小强公众号更多编程趣事,知识心得与您分享
?关注“程序员小强”发送关键字“elasticSearch”到公众号获取相关篇