java - 在 Lucene 中,ANALYZED 和 ANALYZED_NO_NORMS 有什么区别?

标签 java lucene indexing

我无法理解两种索引方式之间的区别:ANALYZEDANALYZED_NO_NORMS。我阅读了 Lucene Javadoc,但不明白其中的区别。

有人可以告诉我更多关于 NORMS 的信息吗?它们给索引带来的好处或限制是什么?

最佳答案

已分析

索引通过分析器运行字段值生成的标记。这对于普通文本很有用。分析器可能类似于 Snowball 词干分析器:

ANALYZED_NO_NORMS

使用分析器,但它不会为字段创建规范。

规范是为在查询时对文档进行快速评分而创建的。这些规范通常都加载到内存中,以便当您对索引运行查询分析器时,它可以快速对搜索结果进行评分。

No norms 表示禁用索引时间字段和文档提升以及字段长度规范化。好处是更少的内存使用,因为在搜索期间,规范为索引中的每个文档的每个索引字段占用一个字节的 RAM。

关于java - 在 Lucene 中,ANALYZED 和 ANALYZED_NO_NORMS 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6789309/

相关文章:

java - 我如何包装 Guice 生成的实例,而不是自己创建它们,而是让 Guice 根据需要注入(inject)依赖项?

java - 使用 lucene 创建和查询 n-gram 索引

elasticsearch - 在 neo4j 和 Elasticsearch 之间共享数据

python - 通过列表循环名称

python - 从变量中的索引获取 numpy 数组中的值

python - 在列表列表中查找项目的索引

java - 在 Android 中正确实现 PagerAdapter

java - 如何使用父类(super class)中存在的名称重命名方法?

java - Flurry enableAppCircle() 方法未定义

elasticsearch - 使用Apache Lucene进行 bool 查询的结果编号