Lucene:“打破”过滤器/查询

时间:2014-07-12 14:35:38

标签: filter lucene

是否有任何Lucene过滤器/ queruies,在找到第一场比赛后立即返回结果?有没有人见过这样的东西?

TIA

1 个答案:

答案 0 :(得分:0)

所以,问题是关于表演。

Lucene搜索过程是:

  1. 在倒排索引中查找您要查找的术语。通常,每个术语都有一个位集。那是通常很快
  2. 应用布尔查询:使用布尔子句(AND,OR,NOT ..)混合位集:通常快速
  3. 计算找到的每个文档的评分。这是表现可能很慢的地方。它通常是对所有文档的迭代以及计算全文分数(向量空间模型或BM25)。
  4. 如果您对全文分数不感兴趣,可以使用允许使用其他排序顺序的search method,从而允许禁用评分:

     TopFieldDocs search(Query query,
                      int n,
                      Sort sort,
                      boolean doDocScores,
                      boolean doMaxScore)
    

    您可以使用SortField.FIELD_DOC作为任意排序方法。