From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

NAME

Catalyst::Model::Search::ElasticSearch - A simple Catalyst model to interface with Search::Elasticsearch

VERSION

version 1.142550

SYNOPSIS

package My::App;
use strict;
our $VERSION = '0.01';
__PACKAGE__->config(
name => 'Test::App',
'Model::Search' => {
nodes => 'localhost:9200',
request_timeout => 30,
max_requests => 10_000
}
);
__PACKAGE__->setup;
use Moose;
__PACKAGE__->meta->make_immutable;
1;
__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

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.