ES-笔记

本文介绍了Elasticsearch中查看和管理索引的一系列操作,包括查看索引状态、使用分词器、数据拷贝、创建和设置索引以及文档的创建。同时讨论了索引的主分片和副本数量对性能的影响,以及实时搜索的配置策略。
摘要由CSDN通过智能技术生成

1、索引

查看所有索引

GET /_cat/indices?v

健康状况

GET _cluster/health
GET _cluster/health?level=indices

分词器

POST _analyze
{
  "analyzer": "ik_max_word",
  "text": "四川森森管理公司"
}

索引数据拷贝

POST _reindex
{
  "source": {
    "index": "position_v1"
  },
  "dest": {
    "index": "position_v2"
  }
}

创建索引

#只创建索引
PUT /test
# 创建索引同时创建字段类型
PUT /gunspoc
{
  "mappings": {
    "doc":{
      "properties":{
        "name":{
          "type":"keyword"
        },
        "age":{
          "type": "long"
        },
        "address":{
          "type":"text"
        },
        "birthday":{
           "type": "date",
           "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" 
        }
      }
    }
  }
}

获取索引字段类型

GET /position_v2/_mapping

查看索引settings

GET /supplier_position_v1/_settings

{
  "gunspoc" : {
    "settings" : {
      "index" : {
        "creation_date" : "1607391267314",
        "number_of_shards" : "5",
        "number_of_replicas" : "1",
        "uuid" : "Oljl4kqeSFiWCFz_1M5XvA",
        "version" : {
          "created" : "6050499"
        },
        "provided_name" : "gunspoc"
      }
    }
  }
}

number_of_shards: 该索引的的分片数
number_of_replicas: 该索引的副本数
(这里的number_of_shards: 5和 number_of_replicas:1 是建立索引的时候的默认值,也可以在建立索引的时候自定义)

建立索引同时设置settings

PUT /gunspoc2
{
  "settings": {
    "number_of_shards": 6,
    "number_of_replicas": 1,
    "refresh_interval": "10s",
    "translog":{
      "flush_threshold_size":"1gb",
      "sync_interval":"30s",
      "durability":"async"
    }
  },
  "mappings": {
    "doc":{
      "properties":{
        "name":{
          "type":"keyword"
        },
        "age":{
          "type": "long"
        },
        "address":{
          "type":"text"
        },
        "birthday":{
           "type": "date",
           "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" 
        }
      }
    }
  }
}

number_of_shards: 5 (主分片数量一旦设置后就不能修改了)
number_of_replicas:1(副本数量可以修改)
refresh_interval :索引的刷新时间间隔(即数据写入es到可以搜索到的时间间隔,设置越小越靠近实时,但是索引的速度会明显下降,),默认为1秒,如果我们对实时搜索没有太大的要求,反而更注重索引的速度,那么我们就应该设置的稍微大一些,这里我设置10s

translog中存储了ES的操作记录,写入的索引并没有实时落盘到索引文件,而是先双写到内存和translog文件。因此不难看出translog的作用就是保证ES数据不丢失。为了保证性能,插入ES的数据并不会立刻落盘,而是首先存放在内存当中,等到条件成熟后触发flush操作,内存中的数据才会被写入到磁盘当中。如果ES服务器突然断电,那么停留在内存中还没来得及写入磁盘中的数据是不是就丢失了呢?还好translog保留了这些数据的操作日志,在ES服务重启的时候,会读取translog,恢复这部分数据。

durability:async ,异步刷写translog日志,(默认是同步的)
“flush_threshold_size”:“1gb” (当translog的大小达到此值时会进行一次flush操作。默认是512mb。)
“sync_interval”:“30s”,每隔30s检查translog 刷到硬盘(默认5s)。

查看单个索引

GET /supplier_position_v1

{
  "supplier_position_v1" : { #索引名
    "aliases" : { },#别名
    "mappings" : { #映射
      "properties" : {
        "ageLow" : {
          "type" : "integer"
        },
        "ageUp" : {
          "type" : "integer"
        },
        "categoryOne" : {
          "type" : "long"
        }
    },
    "settings" : { #设置
      "index" : {
        "routing" : {
          "allocation" : {
            "include" : {
              "_tier_preference" : "data_content"
            }
          }
        },
        "refresh_interval" : "1s",
        "number_of_shards" : "5",//设置 - 索引 - 主分片数量
        "provided_name" : "supplier_position_v1",
        "creation_date" : "1649411888583",  #设置 - 索引 - 创建时间
        "store" : {
          "type" : "fs"
        },
        "number_of_replicas" : "1", //设置 - 索引 - 副本数量
        "uuid" : "0KH61wtQRYK1mNaw3xUolw",//设置 - 索引 - uid
        "version" : {
          "created" : "7100199"
        }
      }
    }
  }
}

2. 文档

POST  /shopping/_doc/1
{
    "title":"小米手机",
    "category":"小米",
    "images":"http://www.gulixueyuan.com/xm.jpg",
    "price":3999.00
}
返回结果
{
    "_index": "shopping",
    "_type": "_doc",
    "_id": "1",//<------------------自定义唯一性标识
    "_version": 1,
    "result": "created",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "_seq_no": 1,
    "_primary_term": 1
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值