🎉 🎉 【Workshop 北京站 5月15日】搜索服务统一治理(跨引擎多个集群监控管理、流量管控、服务编排) 👉 : 活动免费,立即报名
Keyword 字段类型
> 文档中心 > 文档中心 > INFINI Easysearch > 功能手册 > 文档建模 > 字段类型 > 字符串字段类型 > Keyword 字段类型

Keyword 字段类型 #

keyword 字段类型包含未经分析的字符串。它只允许精确的大小写敏感匹配。

默认情况下,keyword 字段既被索引(因为 index 已启用)也存储在磁盘上(因为 doc_values 已启用)。为了减少磁盘空间,您可以通过将 index 设置为 false 来指定不索引 keyword 字段。

如果您需要对字段进行全文搜索,请将其映射为 text 类型。

代码样例 #

以下查询创建了一个带有 keyword 字段的映射。将 index 设置为 false 指定将 genre 字段存储在磁盘上,并使用 doc_values 检索它:

PUT movies
{
  "mappings" : {
    "properties" : {
      "genre" : {
        "type" : "keyword",
        "index" : false
      }
    }
  }
}

参数说明 #

下表列出了 keyword 字段类型接受的参数。所有参数都是可选的。

参数描述
boost浮点值,指定此字段对相关性分数的权重。大于 1.0 的值会增加字段的相关性。0.0 到 1.0 之间的值会降低字段的相关性。默认值为 1.0。
doc_values布尔值,指定是否应将字段存储在磁盘上,以便可以用于聚合、排序或脚本。默认值为 true。
eager_global_ordinals指定是否应在刷新时立即加载全局序号。如果该字段经常用于聚合,此参数应设置为 true。默认值为 false。
fields要以多种方式索引同一个字符串(例如,作为 keyword 和 text),请提供 fields 参数。您可以指定字段的一个版本用于搜索,另一个版本用于排序和聚合。
ignore_above任何长度超过此整数值的字符串都不应被索引。默认值为 2147483647。默认动态映射会创建一个 ignore_above 设置为 256 的 keyword 子字段。
index布尔值,指定字段是否应可搜索。默认值为 true。要减少磁盘空间,请将 index 设置为 false。
index_options要存储在索引中的信息,将在计算相关性分数时考虑。可以设置为 freqs 以获取词频。默认值为 docs。
meta接受此字段的元数据。
normalizer指定在索引之前如何预处理此字段(例如,转换为小写)。默认值为 null(无预处理)。
norms布尔值,指定在计算相关性分数时是否应使用字段长度。默认值为 false。
null_value用于替代 null 的值。必须与字段类型相同。如果未指定此参数,当值为 null 时,该字段将被视为缺失。默认值为 null。
similarity用于计算相关性分数的排名算法。默认值为 BM25。
split_queries_on_whitespace布尔值,指定全文查询是否应在空格上分割。默认值为 false。
store布尔值,指定字段值是否应该被存储并且可以与 _source 字段分开检索。默认值为 false。