将query改成filter,lucene中有個querywrapperfilter性能比較差,是以基本上都需要自己寫filter,包括termfilter,exactphrasefilter,conjunctionfilter,disjunctionfilter。
這幾天驗證下來,還是or改善最明顯,4個termfilter,4508個傳回結果,在我本機上性能提高1/3。exactphrasefilter也有小幅提升(5%-10%)。
最令人不解的是and,原來以為跟結果數和子查詢數相關,但幾次測試基本都是下降。
附exactphrasefilter和ut代碼:
ut: