2
當lucene想要計算查詢的權重時,它首先調用searcher.rewrite(查詢),該函數對每種查詢類型都做了什麼?在lucene中重寫查詢
當lucene想要計算查詢的權重時,它首先調用searcher.rewrite(查詢),該函數對每種查詢類型都做了什麼?在lucene中重寫查詢
查詢重寫器將較高級別的查詢子句轉換爲性能較好的較低級子句。最終結果在功能上是相同的。
例如,對於Query.rewrite
的Javadoc說:
專家:呼籲重新編寫查詢爲基本查詢。例如,PrefixQuery將被重寫爲由TermQuerys組成的布爾查詢。
如果Lucene要執行準確的查詢成本分析,則需要將查詢重寫爲最快的形式。