Elasticsearch 实战:Elasticsearch 索引操作
在使用 Elasticsearch 进行数据管理时,索引操作是核心的一部分。本篇将详细介绍如何进行索引的创建、查看、更新(包括映射修改)、关闭与开启、删除等操作,以及如何进行索引模板设置以简化索引管理。
**1. 创建索引
创建索引可以通过发送一个 HTTP PUT 请求到对应的索引名。同时,可以在请求体中定义索引的映射(mapping)和其他设置。以下是一个创建名为 my_index
的索引并定义一个简单映射的例子:
PUT /my_index
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0
},
"mappings": {
"properties": {
"title": {
"type": "text"
},
"description": {
"type": "text",
"analyzer": "english"
},
"price": {
"type": "float"
},
"created_at": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
}
}
}
}
这里:
settings
部分定义了索引级别的配置,如分片数 (number_of_shards
) 和副本数 (number_of_replicas
)。mappings
部分定义了索引中字段的类型、分析器等属性。例如,title
和description
字段被定义为text
类型,description
字段使用了english
分析器,price
字段为float
类型,created_at
字段为date
类型并指定了日期格式。
**2. 查看索引
要查看某个索引的详细信息,包括设置、映射等,可以发送一个 GET 请求到索引名:
GET /my_index
响应将包含索引的完整定义。
**3. 更新索引映射
索引映射一旦创建后,通常不允许直接修改已存在的字段映射。但是,可以为现有字段添加新的属性,或者为未映射的字段添加映射。例如,给 my_index
添加一个新的字段 category
:
PUT /my_index/_mapping
{
"properties": {
"category": {
"type": "keyword"
}
}
}
**4. 关闭与开启索引
有时出于维护、备份或性能调整的目的,可能需要临时关闭或重新开启索引。关闭索引:
POST /my_index/_close
开启索引:
POST /my_index/_open
**5. 删除索引
彻底删除一个不再需要的索引,使用 DELETE 请求:
DELETE /my_index
**6. 索引模板
索引模板(Index Templates)可以用来自动应用一组预定义的设置和映射到符合特定命名模式的新创建索引上。这对于具有相似结构的多个索引非常有用,可以简化管理并确保一致性。创建模板:
PUT _template/my_template
{
"index_patterns": ["my_index_*"], // 匹配索引名的模式
"settings": {
// 共享的索引设置
},
"mappings": {
// 共享的映射定义
}
}
当创建一个名称符合 my_index_*
模式的索引时,该模板会自动应用。
**7. 查看所有索引
要列出集群中所有的索引,可以发送一个 GET 请求到 _cat/indices
端点:
GET _cat/indices?v
这将返回一个表格形式的索引列表,包括索引名、状态、分片数、文档数等信息。
通过熟练掌握上述索引操作,您可以有效地管理 Elasticsearch 中的数据存储结构,适应不断变化的业务需求,并确保数据的高效检索与分析。记得在实际操作前备份重要数据,特别是在进行映射更改或删除索引等不可逆操作时。
标签:实战,index,映射,type,索引,ElasticSearch,my,模板 From: https://blog.csdn.net/qq_33240556/article/details/137221648