The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

KinoSearch::Search::PolySearcher - Aggregate results from multiple searchers.

SYNOPSIS

    my $schema = MySchema->new;
    for my $server_name (@server_names) {
        push @searchers, KSx::Remote::SearchClient->new(
            peer_address => "$server_name:$port",
            password     => $pass,
            schema       => $schema,
        );
    }
    my $poly_searcher = KinoSearch::Search::PolySearcher->new(
        schema    => $schema,
        searchers => \@searchers,
    );
    my $hits = $poly_searcher->hits( query => $query );

DESCRIPTION

The primary use for PolySearcher is to aggregate results from several remote searchers via KSx::Remote::SearchClient, diffusing the cost of searching a large corpus over multiple machines. It is also possible to aggregate results from multiple Searchers on a single machine.

CONSTRUCTORS

new( [labeled params] )

    my $poly_searcher = KinoSearch::Search::PolySearcher->new(
        schema    => $schema,
        searchers => \@searchers,
    );
  • schema - A Schema.

  • searchers - An array of Searchers.

INHERITANCE

KinoSearch::Search::PolySearcher isa KinoSearch::Search::Searcher isa KinoSearch::Object::Obj.

COPYRIGHT AND LICENSE

Copyright 2005-2010 Marvin Humphrey

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.