lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yonik Seeley (JIRA)" <>
Subject [jira] Commented: (LUCENE-958) MultiSearcher Filtering with more than one index is broken
Date Sat, 14 Jul 2007 13:37:04 GMT


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:
>             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:
For additional commands, e-mail:

View raw message