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

NAME

Ploonga - (yet another) interface to Groonga

SYNOPSIS

  use Ploonga;

  # Standalone mode
  my $ploonga = Ploonga->new(
    dbfile => 'db/test.db',
    no_create => 0, # set this to true if necessary
  );

  # Client mode
  my $ploonga = Ploonga->new(
    host => 'localhost',
    port => 10041,
  );

  # You can pass whatever builtin Groonga client accepts.
  my $ret = $ploonga->do('table_create --name Site --flags TABLE_HASH_KEY --key_type ShortText');

  # Extra args, instead of passing via stdin
  my $ret = $ploonga->do('load --table Site', <<'JSON');
  [
  {"_key":"http://example.org/","title":"This is test record 1!"},
  {"_key":"http://example.net/","title":"test record 2."},
  {"_key":"http://example.com/","title":"test test record three."},
  {"_key":"http://example.net/afr","title":"test record four."},
  {"_key":"http://example.org/aba","title":"test test test record five."},
  {"_key":"http://example.com/rab","title":"test test test test record six."},
  {"_key":"http://example.net/atv","title":"test test test record seven."},
  {"_key":"http://example.org/gat","title":"test test record eight."},
  {"_key":"http://example.com/vdw","title":"test test record nine."},
  ]
  JSON

DESCRIPTION

Unless you really want to do some complex stuff, this is the module you want to use to communicate with a Groonga database/server. The interface is almost the same as the builtin Groonga client. You simply don't need to quote commands nor decode json output by yourself.

If you do need, try Groonga::API, which provides raw interface to Groonga C APIs.

METHODS

new

Creates a client object. Available options are: dbfile/no_create (for standalone mode), host/port (for client mode).

You can also set encoding option to decode/encode when you send/receive data.

do

Takes a string expression which must contain a Groonga command (and optional string arguments to send), and returns the result, which may be a scalar, or some complex data structure.

ctx, db

Accessors to internal objects. Only useful when you use Groonga::API.

SEE ALSO

Groonga::API

http://groonga.org/

https://github.com/yappo/p5-Groonga/

AUTHOR

Kenichi Ishigaki, <ishigaki@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2013 by Kenichi Ishigaki.

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