跳转到内容

Elasticsearch 数据管理

Elasticsearch 数据管理页面可让你在线管理 Elasticsearch(或 OpenSearch)数据:列出索引,创建和删除索引,逐页浏览文档,执行搜索查询,以及查看、创建、更新和删除文档。

TIP

此功能在 v3.2.0 新增。

前置条件

Elasticsearch 数据管理针对类型为 Elasticsearch 的数据库服务器进行操作。 使用前,请确保在 数据库 > 服务器 标签页中已有这样一台服务器:

  • 对于远程实例,请在 服务器 标签页中添加它。 只需填写地址、端口,以及(可选的)用户名和密码即可。 如果同时设置了用户名和密码,面板将使用 HTTP 基本认证进行连接;否则将以无凭据方式连接。
  • 面板通过 Elasticsearch 的 REST API 与其通信,因此任何兼容 OpenSearch 的服务器同样适用。

打开页面

进入 数据库 页面并切换到 Elasticsearch 标签页。 与关系型数据库标签页不同,Elasticsearch 完全通过此数据视图进行管理,而非通过数据库列表。

选择服务器

页面顶部有一个 服务器 选择器。 选择要操作的 Elasticsearch 服务器;每个选项以 name (host:port) 的形式显示。 系统会自动选中第一个可用的服务器。 切换服务器会重新加载索引列表并清除当前的选择。

索引列表

当未选中任何索引时,页面会在表格中显示所选服务器上的索引列表,包含以下列:

  • 索引名称:索引的名称。
  • 健康状态:索引的健康状态,以彩色标签显示——green(成功)、yellow(警告)或 red(错误)。
  • 文档数:索引中的文档数量。
  • 大小:索引的存储大小,以易读的单位显示。
  • 操作:每个索引对应的 浏览删除 按钮。

TIP

系统索引(名称以点开头,例如 .kibana)会从此列表中隐藏。

创建索引

在查看索引列表时,点击 创建索引 以打开创建对话框。 输入 索引名称 并点击 提交。 索引将以默认设置创建;如有需要,你之后可以通过自己的 Elasticsearch 工具添加映射和设置。

删除索引

点击某个索引行上的 删除 并确认即可将其移除。

警告

删除索引会永久移除该索引及其包含的所有文档。 此操作无法撤销! 请确保你已选中正确的索引,并事先备份好任何重要数据。

浏览文档

点击某个索引行上的 浏览 即可打开该索引的文档。 顶部的标签会显示当前索引(Index: <name>),返回索引列表 按钮可让你返回索引列表。

文档以分页表格的形式显示,包含以下列:

  • ID:文档的 _id
  • 源数据:文档的 _source(即其 JSON 主体)。
  • 操作:每个文档对应的 查看删除 按钮。

分页支持每页 20、50、100 和 200 条文档(默认为 20)。

搜索文档

在浏览索引时,使用搜索框(占位符为 field:value)来筛选文档,然后点击 搜索 或按 Enter 键。 该查询使用 Elasticsearch 查询字符串语法,例如:

  • status:active —— status 字段等于 active 的文档
  • title:elasticsearch AND views:>100 —— 使用 AND / OR 组合多个子句
  • 留空则列出索引中的所有文档。

查看或更新文档

点击某个文档行上的 查看 即可打开文档对话框。 它会显示:

  • ID:文档的 _id(对于已有文档为只读)。
  • 文档(JSON):文档主体,以格式化的 JSON 美观地呈现。

你可以在此对话框中编辑 JSON,并点击 提交 将更改保存回同一文档。 由于 ID 是固定的,从 查看 对话框保存会就地更新现有文档。

创建文档

在浏览索引时,点击 创建文档 以创建模式打开文档对话框。 填写表单并点击 提交

  • ID:可选。 留空可让 Elasticsearch 自动生成 ID,或输入指定的 ID 以使用该 ID 创建文档。
  • 文档(JSON):以 JSON 对象形式表示的文档主体。 此字段为必填项。

TIP

不带 ID 创建文档会以自动生成的 ID 新增一个文档。 使用指定 ID 创建或保存文档时,会写入该确切的文档,如果它已存在则将其替换。

删除文档

点击某个文档行上的 删除 并确认,即可从当前索引中移除该单个文档。

警告

删除文档会将其从索引中永久移除。 此操作无法撤销!

常见问题

无法连接到 Elasticsearch 服务器

  • 确认所选服务器的类型为 Elasticsearch,且其主机和端口正确无误。
  • 如果服务器需要认证,请确认服务器上同时设置了用户名和密码。
  • 确认 Elasticsearch(或 OpenSearch)服务正在运行,并且可从面板主机访问。
  • 数据库 > 服务器 标签页中检查服务器状态。

创建或更新文档失败

  • 确保 文档(JSON) 主体是有效的 JSON。
  • 确认目标索引存在,且文档结构与索引映射相匹配。

索引未出现在列表中

名称以点开头的系统索引会被有意隐藏。 如果某个用户索引缺失,请刷新页面并确认它在所选服务器上确实存在。