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