在Elasticsearch中,对索引库(即索引)进行操作的命令通常通过Elasticsearch的RESTful API来执行。以下是一些常用的索引操作命令:
功能 | 语法 | 例子 | 释义 |
---|---|---|---|
索引统计信息 | GET /index_name/_stats |
`` | |
索引健康状态 | GET /_cluster/health/index_name |
`` | |
删除索引 | DELETE /index_name |
DELETE /索引库名 |
基本步骤
定义索引名称:每个索引都有一个唯一的名称,例如my_index。
定义映射(Mappings):映射定义了索引中字段的类型和属性,例如日期格式、文本分析器等。
定义设置(Settings):设置可以包括分片(shards)数量、副本(replicas)数量、自定义分析器等。
创建索引:使用Elasticsearch的REST API发送创建索引的请求。
PUT /my_index
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1
},
"mappings": {
"properties": {
"title": {
"type": "text",
"analyzer": "ik_smart",
"index": false
},
"date": {
"type": "date"
},
"content": {
"type": "text"
},
"name": {
"type": "text",
"properties":{ # name的子属性firstName、lastName
"firstName":{
"type": "text"
},
"lastName":{
"type": "text"
}
}
}
}
}
}
PUT /my_index:这个HTTP请求用来创建名为my_index的索引。如果索引已经存在,这个请求将会失败,除非使用?op_type=create参数来强制创建。
settings:定义了索引的设置。在这个例子中,我们设置了一个主分片和1个副本。
mappings:定义了索引的映射。这里我们定义了三个字段:title、date和content,它们的类型分别是text和date。
analyzer 指定分词器
index是否创建索引,true默认值,创建索引,false不创建
PUT /index_name/_settings
{
"index": {
"setting_name": "setting_value"
}
}