norms
编辑norms
编辑Norms 存储各种规范化因子,这些因子稍后在查询时用于计算文档相对于查询的分数。
虽然 norms 对于评分很有用,但它们也需要相当多的磁盘空间(通常在索引中每个文档每个字段一个字节的量级,即使对于没有此特定字段的文档也是如此)。因此,如果您不需要在特定字段上进行评分,则应在该字段上禁用 norms。特别是,对于仅用于过滤或聚合的字段,情况就是如此。
可以使用更新映射 API在现有字段上禁用 norms。
可以使用更新映射 API禁用 norms(但事后无法重新启用),如下所示
resp = client.indices.put_mapping( index="my-index-000001", properties={ "title": { "type": "text", "norms": False } }, ) print(resp)
response = client.indices.put_mapping( index: 'my-index-000001', body: { properties: { title: { type: 'text', norms: false } } } ) puts response
const response = await client.indices.putMapping({ index: "my-index-000001", properties: { title: { type: "text", norms: false, }, }, }); console.log(response);
PUT my-index-000001/_mapping { "properties": { "title": { "type": "text", "norms": false } } }
norms 不会立即删除,而是在您继续索引新文档时,旧段合并到新段中时删除。在已删除 norms 的字段上进行的任何分数计算都可能返回不一致的结果,因为某些文档将不再有 norms,而其他文档可能仍然有 norms。