On Mon, Nov 14, 2011 at 3:15 PM, Marvin Humphrey <[email protected]> wrote:
>> -  LucyX::Remote::SearchClient to perform remote searches in parallel
>> as opposed to serially, and
>
> As of this moment (r1201554), ClusterSearcher's interface, documentation, and
> result aggregation logic are done.  The internals are not yet complete, but it
> should be an improvement over the PolySearcher/SearchClient combo.  At present
> it sends requests to all remote nodes before trying to retrieve the response 
> from
> any, allowing the remotes to do their work in parallel -- that's better than
> PolySearcher, which had to wait on each remote's response before sending the
> next request.

using r1203082

I'm using QueryParser/parse/make_compiler, iirc, for the highlighting
issue, and when I make the changes for ClusterSearcher, I'm getting
this burp:

Missing required param searcher
        S_extract_from_sv at xs/XSBind.c line 467
        cfish_XSBind_allot_params at xs/XSBind.c line 536
        XS_Lucy_Search_ORQuery__make_compiler at lib/Lucy.xs line 15381
        at /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Lucy.pm line 
331
        
Lucy::Search::Query::make_compiler('Lucy::Search::ORQuery=SCALAR(0x8f42d60)',
'searcher', 'undef') called at ./search line 288

Line 288 is

my $query_compiler =
      $parsed_query->make_compiler( searcher => $searcher );
      #$parsed_query->make_compiler( searcher => $poly_searcher );

Should I roll back the dependency on $query_compiler (in
$searcher->hits() and Highlighter) since the highlighter bug is
pending (iirc), and you did say there's some backend stuff for
ClusterSearcher which is pending, or stick with it?

Here's the sequence, for completeness:

my $searcher = eval {LucyX::Remote::ClusterSearcher->new(schema =>
$schema,shards => qw(...
...
my $query_parser = Lucy::Search::QueryParser->new(...
...
my $parsed_query = $query_parser->parse($query);
my $query_compiler =
      $parsed_query->make_compiler( searcher => $searcher );
...
$hits = eval { $searcher->hits(query => $query_compiler,...
...
my $body_highlighter = Lucy::Highlight::Highlighter->new(
    searcher => $searcher, query    => $query_compiler,...

...et cetera


thanks

Reply via email to