我不知道何时使用omitNorms =“true”。我阅读了2-3个链接,但我仍然不清楚其含义。是什么意思“设置为true以省略与此字段关联的规范(这会禁用字段的长度规范化和索引时间提升,并节省一些内存)。只需要索引时间提升的全文字段或字段需要规范。“在http://wiki.apache.org/solr/SchemaXml页面
答案 0 :(得分:25)
规范作为单字节信息存储在每个字段的每个文档的索引中。这将保存应用于字段或长度信息的索引时间提升的信息 长度信息可以让您在更长的字段中增加更短的字段 此外,索引时间提升将允许一个字段提升高于其他字段。
占用空间时,如果不需要,应关闭 如果未使用索引时间提升,或者字段是短文本字段或不需要任何长度规范化的非文本字段。
您可以找到一些详细解释here。
当规范被加载到IndexReader中时,它们被加载到一个 每个字段的byte [maxdoc]数组 - 即使400个文档中也有一个 百万有一个字段,它仍然会加载字节[maxdoc] 字段,可能使用大量RAM。
作为我们谈论多少RAM的一个例子,10中的一个字段 百万文档索引将占用不到10 MB的RAM。一百 这样的字段需要几乎1 GB的RAM。