NAME
AnyEvent::Groonga - Groonga client for AnyEvent
SYNOPSIS
use AnyEvent::Groonga;
my $groonga = AnyEvent::Groonga->new(
  protocol => 'http',
  host     => 'localhost,
  port     => '10041',
);
# blocking interface
my $result = $groonga->call(select => {
  table          => "Site",
  query          => 'title:@test',
  output_columns => [qw(_id _score title)],
  sortby         => '_score',
})->recv;
# result is AnyEvent::Groonga::Result::Select object
print $result->dump;
# non-blocking interface
$groonga->call(select => {
  table          => "Site",
  query          => 'title:@test',
  output_columns => [qw(_id _score title)],
  sortby         => '_score',
})->cb(
  sub {
    my $result = $_[0]->recv; 
  }
);
print Dumper $result->items;
DESCRIPTION
This is groonga client module for AnyEvent applications.
groonga is an open-source fulltext search engine and column store.
SEE ALSO
METHOD
new (%options)
Create groonga client object.
my $groonga = AnyEvent::Groonga->new(
  protocol => 'http',
  host     => 'localhost,
  port     => '10041',
);
Available options are:
- protocol => 'http|gqtp|local_db'
 - 
groonga-server speaks http and gqtp protocol (groonga original protocol).
And it works for local database file, too.
 - host
 - port
 - groonga_path
 - 
It is necessary if you set the protocol as gqtp or local_db.
 - database_path
 - 
It is necessary if you set the protocol as local_db.
 
call ($command => \%args)
Call groonga command named $command with %args parameters.
It returns AnyEvent condvar object for response.
# blocking interface
my $result = $groonga->call(select => {
  table          => "Site",
  query          => 'title:@test',
  output_columns => [qw(_id _score title)],
  sortby         => '_score',
})->recv;
# result is AnyEvent::Groonga::Result::Select object
print $result->dump;
# non-blocking interface
$groonga->call(select => {
  table          => "Site",
  query          => 'title:@test',
  output_columns => [qw(_id _score title)],
  sortby         => '_score',
})->cb(
  sub {
    my $result = $_[0]->recv; 
  }
);
Available commands are:
- cache_limit
 - check
 - clearlock
 - column_create
 - column_list
 - column_remove
 - define_selector
 - defrag
 - delete
 - dump
 - load
 - log_level
 - log_put
 - log_reopen
 - quit
 - select
 - shutdown
 - status
 - suggest
 - table_create
 - table_list
 - table_remove
 - view_add
 - 
See Groonga's official site. http://groonga.org/
 
AUTHOR
Takeshi Miki <miki@cpan.org>
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.