[ https://issues.apache.org/jira/browse/LUCENE-958?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12512714 ]
Yonik Seeley commented on LUCENE-958: ------------------------------------- Think of a Filter as symbolic rather than concrete (e.g. the set of documents matching the query "inStock:true") Filter.getBits is passed an IndexReader as an argument, and returns the actual ids (via a BitSet) for that reader only. Thus, an implementation that returns the same BitSet regardless of what IndexReader it is passed is not going to work correctly. > MultiSearcher Filtering with more than one index is broken > ---------------------------------------------------------- > > Key: LUCENE-958 > URL: https://issues.apache.org/jira/browse/LUCENE-958 > Project: Lucene - Java > Issue Type: Bug > Components: Search > Affects Versions: 2.2 > Reporter: Ion Badita > > Using filtering on MultiSarcher with more than one index is not working right. > Probable the best way to describe the problem is to give a small example: > Suppose we have 2 Indexes with two documents each: > Index1 {Doc(id:"A", content:".."), Doc(id:"B", content:"..")} > Index2 {Doc(id:"C", content:".."), Doc(id:"D", content:"..")} > When executing a query that returns all the documents and applying a > QueryFilter that generated the following BitSet (1, 0, 0, 0), it should > filter all the documents but first; the real results are: Doc(id:"A") and > Doc(id:"B"), this because the MultiSearcher applies the BitSet filter from > the bitset's position 0 for each Index. > The right way is to split the bitset in peaces: Index1 to get the bites form > 0-1 and Index2 bites from 2-3. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]