【发布时间】:2011-07-18 05:32:50
【问题描述】:
当lucene要计算查询权重时,它首先调用searcher.rewrite(Query),这个函数对每种查询类型做了什么?
【问题讨论】:
当lucene要计算查询权重时,它首先调用searcher.rewrite(Query),这个函数对每种查询类型做了什么?
【问题讨论】:
查询重写器将高级查询子句转换为性能更好的低级子句。最终结果在功能上是相同的。
例如,Query.rewrite 的 javadoc 说:
专家:调用以将查询重写为原始查询。例如,PrefixQuery 将被重写为由 TermQuery 组成的 BooleanQuery。
如果 Lucene 要进行准确的查询成本分析,它需要将查询重写为最快的形式。
【讨论】: