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
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.