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

NAME

Elasticsearch::Transport - Interface between the client class the Elasticsearch cluster

VERSION

version 0.74

DESCRIPTION

The Transport class manages the request cycle. It receives parsed requests from the (user-facing) client class, and tries to execute the request on a node in the cluster, retrying a request if necessary.

Raw requests can be executed using the transport class as follows:

    $result = $e->transport->perform_request(
        method => 'POST',
        path   => '/_search',
        qs     => { from => 0, size => 10 },
        body   => {
            query => {
                match => {
                    title => "Elasticsearch clients"
                }
            }
        }
    );

Other than the method, path, qs and body parameters, which should be self-explanatory, it also accepts:

ignore

The HTTP error codes which should be ignored instead of throwing an error, eg 404 NOT FOUND:

    $result = $e->transport->perform_request(
        method => 'GET',
        path   => '/index/type/id'
        ignore => [404],
    );
serialize

Whether the body should be serialized in the standard way (as plain JSON) or using the special bulk format: "std" or "bulk".

AUTHOR

Clinton Gormley <drtech@cpan.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2013 by Elasticsearch BV.

This is free software, licensed under:

  The Apache License, Version 2.0, January 2004