Фильтры отличаются от запросов тем, что фильтры могут кэшироваться. В основном, когда вы используете фильтр, Lucene сохраняет растровое изображение, где бит i равен 1, если i-й документ соответствует фильтру, и 0 в противном случае.
Если вы выполните поиск всего, что соответствует запросу и фильтру, он получит результаты запроса и побитовое И с его кэшированным фильтром. Это может улучшить производительность при некоторых обстоятельствах.
По сути, если у вас есть одно или два условия, которые необходимо применять почти к каждому запросу (например, скрыть все документы, которые являются «высоконадежными»), тогда вам может потребоваться поискать фильтры. В противном случае обычные запросы должны работать лучше, поскольку фильтры могут занимать много памяти.