Elasticsearch:何时将 omit_norms 选项设置为 false

Posted

技术标签:

【中文标题】Elasticsearch:何时将 omit_norms 选项设置为 false【英文标题】:Elasticsearch : when to set omit_norms option as false 【发布时间】:2013-12-11 22:12:13 【问题描述】:

elasticsearch 中omit_norms 选项的一个好的用例是什么?我在 es 网站上找不到足够的解释。

【问题讨论】:

同意。 ElasticSearch 需要所有可用选项的更完整文档——如果它只是将您指向 Lucene 文档。 【参考方案1】:

Norms 是存储在索引中与字段并列的值,用于评分。使用默认评分算法,这结合了lengthNorm(用于对短字段进行比长字段更重的加权)和任何字段级别的提升。你可以在Lucene documentation看到更多关于它的细节。

LengthNorm 方面最有助于正确的全文字段。在不需要字段提升的结构化字段上,您可以放心地省略它们。

【讨论】:

谢谢!!该链接帮助我了解更多。【参考方案2】:

默认情况下,所有分析字段都会启用规范,因为它们用于评分。简而言之,它们使较短的字段比较长的字段获得更高的分数。每当一个人不想这样做或不想让某个领域为_score 做出贡献时,就可以禁用规范。

从 Elastic 2.0 开始,您可以在映射中定义字段时添加 "norms": "enabled": false

对于日志记录等用例,规范没有用处。

更多细节可以在这个article in elastic guide找到

【讨论】:

以上是关于Elasticsearch:何时将 omit_norms 选项设置为 false的主要内容,如果未能解决你的问题,请参考以下文章

ELK日志报警插件ElastAlert

ELK日志报警插件ElastAlert

开源Apache CassandraKafkaSpark和ES何时该用,何时不该用?

ElasticSearch 2 (10) - 在ElasticSearch之下(深入理解Shard和Lucene Index)

何时使用 .First 以及何时将 .FirstOrDefault 与 LINQ 一起使用?

Redis 建议 - 何时对数据进行分组以及何时将其拆分