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

时间:2011-07-22 11:28:17

标签: java lucene indexing

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

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

1 个答案:

答案 0 :(得分:12)

<强> ANALYZED

通过分析器运行字段值来生成令牌。这对于普通文本很有用。分析仪可能类似于Snowball Stemmer Analyzer:

<强> ANALYZED_NO_NORMS

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

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

无规范意味着禁用索引时字段和文档提升以及字段长度规范化。这样做的好处是内存使用量减少,因为在搜索期间,索引会为索引中的每个文档占用每个索引字段一个字节的RAM。