Norms (标准信息)

norms 存储各种标准化因子,为后续查询计算文档对该查询的匹配分数提供依据。

虽然 norms 参数对评分很有用,但他需要占用大量的磁盘空间(通常是为了索引每个文档中每个字段每个字节的顺序,甚至不包含此字段的文档也是如此)。因此,如果你不需要计算此字段的评分,应该在改字段取消 norms 的功能.特别是那些仅仅只是用做过滤条件或者聚合条件的字段。

注意

同一索引具有相同名字的字段必须设置相同的 norms 值。norms 将会因为已存在的字段使用 PUT mapping API 而失效。

norms 可以在之后被取消(但不能再次启用),如下所示使用 PUT mapping API

curl -XPUT 'localhost:9200/my_index/_mapping/my_type?pretty' -H 'Content-Type: application/json' -d'
{
  "properties": {
    "title": {
      "type": "text",
      "norms": false
    }
  }
}
'

备注:norms 不会被立刻删除,但是当继续索引新文档时,旧 segments (段)将合并到新的 segments (段)后,norms 将被删除.当分数计算作用在这种删除 norms 的字段上时,可能会出现不一致的结果,因为其中有些文档含有 norms,另外一些文档不含有 norms.