当 lucene 想要计算查询的权重时,它首先调用 searcher.rewrite(Query),这个函数对每种类型的查询做了什么?
最佳答案
查询重写器将高级查询子句转换为性能更好的低级子句。最终结果在功能上是相同的。
例如,Query.rewrite
的 javadoc 说:
Expert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys.
如果 Lucene 要执行准确的查询成本分析,它需要将查询重写为最快的形式。
关于search - 在lucene中重写查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6728941/