NAME
Catalyst::Model::Search::ElasticSearch - A simple Catalyst model to interface with Search::Elasticsearch
VERSION
version 1.142550
SYNOPSIS
package
My::App;
use
strict;
use
warnings;
use
Catalyst;
our
$VERSION
=
'0.01'
;
__PACKAGE__->config(
name
=>
'Test::App'
,
'Model::Search'
=> {
nodes
=>
'localhost:9200'
,
request_timeout
=> 30,
max_requests
=> 10_000
}
);
__PACKAGE__->setup;
package
My::App::Model::Search;
use
Moose;
use
namespace::autoclean;
__PACKAGE__->meta->make_immutable;
1;
package
My::App::Controller::Root;
__PACKAGE__->config(
namespace
=>
''
);
sub
search : Local {
my
(
$self
,
$c
) =
@_
;
my
$params
=
$c
->req->params;
my
$search
=
$c
->model(
'Search'
);
my
$results
=
$search
->search(
index
=>
'test'
,
type
=>
'test'
,
body
=> {
query
=> {
term
=> {
schpongle
=>
$params
->{
'q'
} } } }
);
$c
->stash(
results
=>
$results
);
}
WARNING
This is in very alpha stages. More testing and production use are coming up, but be warned until then.
CONFIGURATION PARAMETERS AND ATTRIBUTES
nodes
A list of nodes to connect to.
transport
The transport to use to interact with the Elasticsearch API. See Search::Elasticsearch::Transport for options.
_additional_opts
Stores other key/value pairs to pass to Search::Elasticsearch.
_es
The Search::Elasticsearch object.
SEE ALSO
The Catalyst Advent article on integrating Elasticsearch into your app: http://www.catalystframework.org/calendar/2010/2
Search::Elasticsearch - Elasticsearch interface this model provides access to
http://www.elasticsearch.org/ - Open Source Distributed Real Time Search and Analytics
AUTHORS
Devin Austin <dhoss@cpan.org>
Manfred Stock <mstock@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Devin Austin.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.