lucy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marvin Humphrey <mar...@rectangular.com>
Subject Re: [lucy-user] ClusterSearcher returns zero results if negate operator used
Date Tue, 29 Nov 2011 13:52:36 GMT
On Tue, Nov 29, 2011 at 12:17:12PM +0200, goran kent wrote:
> I haven't ruled out something stupid on my part yet, but I've found
> that a query with a negate operator:
> 
> [term1 -term2]
> 
> or even
> 
> [term1 -gobbledegoek-asdkjhdadakd823asdkb]
> 
> when pumping through ClusterSearcher, always returns zero results.  If
> using a standard PolySearcher on a local index, then it works as
> expected.

Can you please try the following for both ClusterSearcher and PolySearcher?

First, derive a query object from your query string.  If you are using a
QueryParser, it's this...

    my $query = $query_parser->parse("term1 -term2");

... otherwise, it's this:

    my $query = $searcher->glean_query("term1 -term2");

Then let's examine the parsed queries to ensure that they are the same:

    use Data::Dumper;
    warn Dumper($query->dump);

If the parsed queries differ, that is probably because the Schema being fed to
ClusterSearcher's constructor is incomplete or wrong -- for instance, there
may be fields on the remote nodes that ClusterSearcher doesn't know about.
Currently, ClusterSearcher does not enforce schema completeness or
compatibility for its child nodes; that should be added in the future.

If the parsed queries are the same, there is presumably something amiss with
the search logic and we'll need to debug.

Marvin Humphrey



Mime
View raw message