教程 elasticsearch tutorial

索引与文档

在 Elasticsearch 中,一切数据都以**文档(Document)的形式存储在索引(Index)**中。理解索引与文档的概念,是使用和设计搜索系统的核心基础。

1. 什么是索引(Index)

索引类似于关系型数据库中的“数据库”或“表”,是文档的逻辑集合。每个索引有自己的名称,并可定义字段结构(Mapping)和分片策略。

json
PUT /my-index

`

创建名为 my-index 的索引。

2. 什么是文档(Document)

文档是 Elasticsearch 中的最小数据单元,通常使用 JSON 格式表示。例如,一条用户数据或一篇文章即为一个文档。

json
POST /my-index/_doc
{
  "title": "Elasticsearch 教程",
  "category": "搜索引擎",
  "views": 123
}

3. 文档 ID 与类型说明

每个文档拥有一个唯一 ID。自 7.x 起,Elasticsearch 已废弃文档类型(_type),推荐统一使用 _doc 作为默认类型。

4. 索引与文档的基本操作

  • 创建索引:PUT /index-name
  • 添加文档:POST /index-name/_doc
  • 获取文档:GET /index-name/_doc/id
  • 删除文档:DELETE /index-name/_doc/id
  • 删除索引:DELETE /index-name

5. 注意事项

  • 索引名称必须小写,不能包含空格或特殊字符
  • 文档数据结构应尽量统一,避免字段冲突
  • 大量索引或文档可能影响性能,需规划好数据模型

索引与文档是 Elasticsearch 数据存储与查询的核心载体,掌握它们的结构和基本操作,是进行搜索、聚合与分析的第一步。