NAME
OpenSearch
- A Perl client for OpenSearch (https://opensearch.org/)
SYNOPSIS
use strict;
use warnings;
use OpenSearch;
my $opensearch = OpenSearch->new(
user => 'admin',
pass => 'admin',
hosts => ['http://localhost:9200'],
secure => 0,
allow_insecure => 1,
);
my $s = $self->search(
index => 'my_index',
query => {
bool => {
must => [ { range => { '@timestamp' => { gte => 'now-1d' } } } ],
}
}
);
# Blocking
my $response = $s->execute;
# Non Blocking - Returns a Mojo::Promise;
my $promise = $s->execute_p->then(...)->catch(...);
# OR you can do it like this:
my $response = $s->search
->index('my_index')
->query({
bool => {
must => [ { range => { '@timestamp' => { gte => 'now-1d' } } } ]
}
}
)->execute;
DESCRIPTION
This module is a Perl client for OpenSearch (https://opensearch.org/). It currently only supports a small subset of the OpenSearch API.
ATTRIBUTES
user
The username to use for authentication
pass
The password to use for authentication
hosts
An arrayref of hosts to connect to
secure
Boolean to indicate if the connection should be secure (https)
allow_insecure
Boolean to indicate if insecure connections are allowed
pool_count
The number of connections to pool
clear_attrs
Boolean to indicate if attributes should be cleared after a request. By default this is set to false. Usualy all attributes are cached in the class instance and will be reused for the next request. Switch this to 1 if you want to clear all attributes after a request. Another possibility is to create a new instance of the class for each request.
METHODS
cluster
returns a new OpenSearch::Cluster object
my $cluster = $opensearch->cluster;
cluster_allocation
returns a new OpenSearch::Cluster::Allocation object
my $cluster = $opensearch->cluster_allocation;
cluster_health
returns a new OpenSearch::Cluster::Health object
my $cluster = $opensearch->cluster_health;
cluster_settings
returns a new OpenSearch::Cluster::Settings object
my $cluster = $opensearch->cluster_settings;
cluster_stats
returns a new OpenSearch::Cluster::Stats object
my $cluster = $opensearch->cluster_stats;
remote
returns a new OpenSearch::Remote object
my $remote = $opensearch->remote;
remote_info
returns a new OpenSearch::Remote::Info object
my $remote = $opensearch->remote_info;
search
returns a new OpenSearch::Search object
my $search = $opensearch->search;
LICENSE
Copyright (C) localh0rst.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
localh0rst <git@fail.ninja>