Norms (标准信息)

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

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

注意

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

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

  1. curl -XPUT 'localhost:9200/my_index/_mapping/my_type?pretty' -H 'Content-Type: application/json' -d'
  2. {
  3. "properties": {
  4. "title": {
  5. "type": "text",
  6. "norms": false
  7. }
  8. }
  9. }
  10. '

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

原文链接 : https://www.elastic.co/guide/en/elasticsearch/reference/5.3/norms.html(修改该链接为官网对应的链接)

译文链接 : http://www.apache.wiki/pages/viewpage.action?pageId=9406023(修改该链接为 ApacheCN 对应的译文链接)

贡献者 : 郭峰ApacheCNApache中文网