返回

让 Elasticsearch 元数据字段为您所用

后端

Elasticsearch 中的每个文档都有与之关联的元数据,这些元数据字段可以提供有关文档的各种信息,包括索引名称、类型、ID、路由、父文档、得分、源、版本、序列号、创建时间、更新时间和说明。

元数据字段对于理解和管理 Elasticsearch 中的文档非常重要。我们可以使用它们来过滤文档、对文档进行排序,并获取有关文档的更多信息。我们还可以自定义元数据字段的行为,例如更改它们的默认值或将它们存储在不同的字段中。

元数据字段的种类

Elasticsearch 中有许多不同的元数据字段,每种字段都有其特定的用途。下表列出了最常用的元数据字段及其说明:

字段 说明
_index 文档所在的索引名称
_type 文档的类型
_id 文档的 ID
_routing 文档的路由值
_parent 文档的父文档 ID
_score 文档的得分
_source 文档的原始 JSON 数据
_version 文档的版本号
_seq_no 文档的序列号
_primary_term 文档的主分片上的最新术语
_created 文档的创建时间
_updated 文档的更新时间
_explanation 文档得分的解释

如何使用元数据字段

元数据字段可以通过查询 DSL 来使用。例如,我们可以使用 _index 字段来过滤索引中的文档,或使用 _type 字段对文档进行排序。我们还可以使用元数据字段来获取有关文档的更多信息,例如文档的版本号或创建时间。

如何自定义元数据字段的行为

我们可以通过在创建索引时指定映射来自定义元数据字段的行为。例如,我们可以更改元数据字段的默认值或将它们存储在不同的字段中。

要自定义元数据字段的行为,我们需要在创建索引时指定映射。映射是一个 JSON 对象,它定义了索引中字段的类型和属性。我们可以使用以下语法来指定映射:

{
  "mappings": {
    "properties": {
      "_field_name": {
        "type": "type",
        "properties": {
          // 元数据字段的属性
        }
      }
    }
  }
}

例如,要将 _id 字段的默认值更改为 "my_id",我们可以使用以下映射:

{
  "mappings": {
    "properties": {
      "_id": {
        "type": "keyword",
        "default": "my_id"
      }
    }
  }
}

元数据字段是 Elasticsearch 中一个非常强大的功能。我们可以使用它们来过滤文档、对文档进行排序,并获取有关文档的更多信息。我们还可以自定义元数据字段的行为,例如更改它们的默认值或将它们存储在不同的字段中。