I need to execute a boolean query and get back just the bits of all the matching documents. I do additional filtering (date ranges and entitlements) and then do my own sorting later on. I know that using QueryFilter.Bits() will still compute scores for all matching documents. I do not want to compute any scores. For queries with large results (over 5 million), seems like it is somewhat slow , and maybe computing scores is taking some time. I have 10million document index, and for some very broad queries (4-5 million matching documents), seems like getting bits is slow (1.5 seconds). I can do my own sorting of results for requested page in under 30 ms, since I have efficient cached permutations of sorting by various fields. Is there a way given a BooleanQuery, to get matching bits without computing any scores internally? I looked at ConstantScoreQuery but I believe it actually still computes scores since it gets bits from the underlying query anyway. In fact I tested it and it is actually slower to use ConstantScoreQuery than not to.
Is it possible to use a custom similarity class to make scoring faster (by returning 0 values, etc)? Thanks, Bob