Search::Elasticsearch::Client::5_0::Role::API(3pm)

Search::Elasticsearch::Client::5_0::Role::API3pm

This class contains the spec for the elasticsearch apis

Version

version 5.01

Overview

All of the Elasticsearch APIs are defined in this role. The example given below is the definition for the "index()" in Search::Elasticsearch::Client::5_0::Direct method:

    'index' => {
        body   => { required => 1 },
        doc    => "docs-index_",
        method => "POST",
        parts  => {
            id    => {},
            index => { required => 1 },
            type  => { required => 1 }
        },
        paths => [
            [   { id => 2, index => 0, type => 1 }, "{index}",
                "{type}", "{id}"
            ],
            [ { index => 0, type => 1 }, "{index}", "{type}" ],
        ],
        qs => {
            filter_path            => "list",
            op_type                => "enum",
            parent                 => "string",
            pipeline               => "string",
            refresh                => "enum",
            routing                => "string",
            timeout                => "time",
            timestamp              => "time",
            ttl                    => "time",
            version                => "number",
            version_type           => "enum",
            wait_for_active_shards => "string",
        },
    },

These definitions can be used by different Search::Elasticsearch::Role::Client implementations to provide distinct user interfaces.

Methods

"api()"

    $defn = $api->api($name);

The only method in this class is the "api()" method which takes the name of the action and returns its definition. Actions in the "indices" or "cluster" namespace use the namespace as a prefix, eg:

    $defn = $e->api('indices.create');
    $defn = $e->api('cluster.node_stats');

Author

Clinton Gormley <[email protected]>

From libsearch-elasticsearch-perl 5.01-1 in Debian 9 (Stretch). Parsed by carta from the page's man source.