Skip to content

如何在 Elasticsearch 中创建索引? ​

在 Elasticsearch 中,创建索引是一个常见的操作。索引是存储和组织数据的地方,类似于关系型数据库中的表。以下是如何在 Elasticsearch 中创建索引的详细步骤。

1. 使用 PUT 请求创建索引 ​

你可以使用 PUT 请求来创建一个新的索引,并定义其映射(mappings)和设置(settings)。

示例:创建一个简单的索引 ​

bash
PUT /my_index
{
  "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 1
  },
  "mappings": {
    "properties": {
      "field_name": {
        "type": "text"
      }
    }
  }
}

2. 解释 ​

  • settings: 定义索引的设置,如分片数(number_of_shards)和副本数(number_of_replicas)。
  • mappings: 定义索引的字段映射,指定每个字段的类型。

3. 创建索引并定义字段映射 ​

以下是一个更复杂的示例,展示如何创建一个包含多个字段的索引,并定义每个字段的类型。

示例:创建一个包含多个字段的索引 ​

bash
PUT /my_index
{
  "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 1
  },
  "mappings": {
    "properties": {
      "title": {
        "type": "text"
      },
      "description": {
        "type": "text"
      },
      "price": {
        "type": "float"
      },
      "created_at": {
        "type": "date",
        "format": "yyyy-MM-dd HH:mm:ss"
      },
      "tags": {
        "type": "keyword"
      }
    }
  }
}

4. 解释 ​

  • title: 文本类型字段,用于存储标题。
  • description: 文本类型字段,用于存储描述。
  • price: 浮点类型字段,用于存储价格。
  • created_at: 日期类型字段,用于存储创建时间,并指定日期格式。
  • tags: 关键字类型字段,用于存储标签。

5. 验证索引创建 ​

你可以使用 GET 请求来验证索引是否创建成功。

示例:验证索引创建 ​

bash
GET /my_index

6. 索引文档 ​

创建索引后,你可以开始索引文档。

示例:索引文档 ​

bash
POST /my_index/_doc/1
{
  "title": "Elasticsearch Guide",
  "description": "A comprehensive guide to Elasticsearch",
  "price": 29.99,
  "created_at": "2023-10-01 12:00:00",
  "tags": ["elasticsearch", "guide"]
}

总结 ​

通过以上步骤,你可以在 Elasticsearch 中创建索引并定义字段映射。以下是主要步骤:

  1. 使用 PUT 请求创建索引:定义索引的设置和映射。
  2. 定义字段映射:指定每个字段的类型。
  3. 验证索引创建:使用 GET 请求验证索引是否创建成功。
  4. 索引文档:开始索引文档。

通过这些步骤,你可以成功创建 Elasticsearch 索引并开始存储和查询数据。

woodlc