DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12667>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12667

MultiSearcher does not work with MultiTermQuery or PrefixQuery





------- Additional Comments From [EMAIL PROTECTED]  2002-09-17 23:12 -------

It seems that Queries are reset using the "prepare()" method on a Query. However
the MultiTermQuery does not do this correctly. Its caches in the 

private BooleanQuery query;

member item the results of the terms generated from the index. This value is
never cleared in the prepare() method - hence further indexes are ignored.

You cannot create a prepare() method in MultiTermQuery since its subclasses
override 
the method and provide there own implementation.

The solution I propose is to change setEnum in MultiTermQuery as follows:-

    /** Set the TermEnum to be used */
    protected void setEnum(FilteredTermEnum enum) {
        this.enum = enum;
        this.query = null;
    }

This will clear the cache query out on each reset.

I have tested this patch and it correctly produces the search results when using
multiple indexes.

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to