incubator-lucy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From goran kent <gorank...@gmail.com>
Subject Re: [lucy-user] Concurrent searching
Date Thu, 17 Nov 2011 08:37:58 GMT
On Mon, Nov 14, 2011 at 3:15 PM, Marvin Humphrey <marvin@rectangular.com> 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

Mime
View raw message