【问题标题】:How to compute norm at search time in Lucene 3.6?如何在 Lucene 3.6 中的搜索时计算范数?
【发布时间】:2014-05-08 09:34:26
【问题描述】:

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

  • "field" with Field.omitNorms(false);
  • "field_noNorm" with Field.omitNorms(true);

这个解决方案让我实现了我的目标,但是它复制了索引的维度,现在索引大小变得很关键,我需要找到一个更智能的解决方案,也会影响在字段上搜索时的查询时间没有规范。

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

【问题讨论】:

    标签: java lucene


    【解决方案1】:

    我解决了在索引时间读取规范的问题: searcher.getIndexReader().norms(field);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多