Hi,
Hibernate Search feeds the query directly to Lucene, the only "filtering" it applies might be:
a) the target object type, if you use a target type and it's not matching.
b) the matching document exists in the index, but not in the database: unless you're using projection loading, the matches are still loaded from the database and if not existing silently discarded (to avoid mismatches from the async backend).
The result of
Code:
query.getResultSize();
is not matched with the database. What's his result?
If this doesn't help, could you provide a test?