index.mapping.ignore_above

编辑

ignore_above 设置通常在字段级别使用,也可以使用 index.mapping.ignore_above 应用于索引级别。此设置允许您为索引中所有适用的字段定义最大字符串长度,包括 keywordwildcardflattened 字段中的关键字值。任何超出此限制的值将在索引期间被忽略,并且不会被存储。

此索引范围的设置确保了管理过长值的一致方法。它的工作方式与字段级设置相同——如果字符串的长度超过指定限制,则该字符串将不会被索引或存储。当处理数组时,将单独评估每个元素,并且只会忽略超出限制的元素。

resp = client.indices.create(
    index="my-index-000001",
    settings={
        "index.mapping.ignore_above": 256
    },
)
print(resp)
const response = await client.indices.create({
  index: "my-index-000001",
  settings: {
    "index.mapping.ignore_above": 256,
  },
});
console.log(response);
PUT my-index-000001
{
  "settings": {
    "index.mapping.ignore_above": 256
  }
}

在此示例中,my-index-000001 中所有适用的字段将忽略任何长度超过 256 个字符的字符串。

您可以通过在字段映射中指定自定义的 ignore_above 值来覆盖特定字段的此索引范围设置。

与字段级别的 ignore_above 一样,此设置仅影响索引和存储。如果启用了 _source (这是 Elasticsearch 中的默认行为),则原始值仍然在 _source 字段中可用。