Java 如何在Lucene 3.6中计算搜索时的范数?

Java 如何在Lucene 3.6中计算搜索时的范数?,java,lucene,Java,Lucene,我需要在字段上执行查询,一次考虑范数,另一次不影响范数的分数。 我所做的是使用两个不同的名称对字段进行两次索引,如下所示: 带字段的“字段”。省略规范(false) 带字段的“field_noNorm”(真) 这个解决方案使我实现了我的目标,但它复制了索引的维度,现在索引大小变得至关重要,我需要找到一个更智能的解决方案,这也影响了在没有规范的字段上搜索时的查询时间 可以存储单个规范化字段,并在查询时将每个字段的范数的inverce相乘,以消除其对最终分数的影响? 如果是这样的话,在搜索期间检

我需要在字段上执行查询,一次考虑范数,另一次不影响范数的分数。
我所做的是使用两个不同的名称对字段进行两次索引,如下所示:

  • 带字段的“字段”。省略规范(false)
  • 带字段的“field_noNorm”(真)
这个解决方案使我实现了我的目标,但它复制了索引的维度,现在索引大小变得至关重要,我需要找到一个更智能的解决方案,这也影响了在没有规范的字段上搜索时的查询时间

可以存储单个规范化字段,并在查询时将每个字段的范数的inverce相乘,以消除其对最终分数的影响?
如果是这样的话,在搜索期间检索文档规范的最快方法是什么?

我通过以下方法解决了在索引时读取规范的问题: searcher.getIndexReader()规范(字段)