mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-06-28 17:34:17 -04:00
[Docs] Added a page for the Perl client
This commit is contained in:
parent
4d19239ec4
commit
4798425da6
2 changed files with 107 additions and 3 deletions
106
docs/perl/index.asciidoc
Normal file
106
docs/perl/index.asciidoc
Normal file
|
@ -0,0 +1,106 @@
|
|||
= Elasticsearch.pm
|
||||
|
||||
== Overview
|
||||
|
||||
Elasticsearch.pm is the official Perl API for Elasticsearch. The full
|
||||
documentation is available on https://metacpan.org/module/Elasticsearch
|
||||
and it can be installed with:
|
||||
|
||||
[source,sh]
|
||||
------------------------------------
|
||||
cpanm Elasticsearch
|
||||
------------------------------------
|
||||
|
||||
=== Features
|
||||
|
||||
This client provides:
|
||||
|
||||
* Full support for all Elasticsearch APIs
|
||||
|
||||
* HTTP backend (currently synchronous only - Any::Event support will be added later)
|
||||
|
||||
* Robust networking support which handles load balancing, failure detection and failover
|
||||
|
||||
* Good defaults
|
||||
|
||||
* Helper utilities for more complex operations, such as bulk indexing, scrolled searches and reindexing.
|
||||
|
||||
* Logging support via Log::Any
|
||||
|
||||
* Compatibility with the official clients for Python, Ruby, PHP and Javascript
|
||||
|
||||
* Easy extensibility
|
||||
|
||||
== Synopsis
|
||||
|
||||
[source,perl]
|
||||
------------------------------------
|
||||
use Elasticsearch;
|
||||
|
||||
# Connect to localhost:9200:
|
||||
my $e = Elasticsearch->new();
|
||||
|
||||
# Round-robin between two nodes:
|
||||
my $e = Elasticsearch->new(
|
||||
nodes => [
|
||||
'search1:9200',
|
||||
'search2:9200'
|
||||
]
|
||||
);
|
||||
|
||||
# Connect to cluster at search1:9200, sniff all nodes and round-robin between them:
|
||||
my $e = Elasticsearch->new(
|
||||
nodes => 'search1:9200',
|
||||
cxn_pool => 'Sniff'
|
||||
);
|
||||
|
||||
# Index a document:
|
||||
$e->index(
|
||||
index => 'my_app',
|
||||
type => 'blog_post',
|
||||
id => 1,
|
||||
body => {
|
||||
title => 'Elasticsearch clients',
|
||||
content => 'Interesting content...',
|
||||
date => '2013-09-24'
|
||||
}
|
||||
);
|
||||
|
||||
# Get the document:
|
||||
my $doc = $e->get(
|
||||
index => 'my_app',
|
||||
type => 'blog_post',
|
||||
id => 1
|
||||
);
|
||||
|
||||
# Search:
|
||||
my $results = $e->search(
|
||||
index => 'my_app',
|
||||
body => {
|
||||
query => {
|
||||
match => { title => 'elasticsearch' }
|
||||
}
|
||||
}
|
||||
);
|
||||
------------------------------------
|
||||
|
||||
== Reporting issues
|
||||
|
||||
The GitHub repository is http://github.com/elasticsearch/elasticsearch-perl
|
||||
and any issues can be reported on the issues list at
|
||||
http://github.com/elasticsearch/elasticsearch-perl/issues.
|
||||
|
||||
== Contributing
|
||||
|
||||
Open source contributions are welcome. Please read our
|
||||
https://github.com/elasticsearch/elasticsearch-perl/blob/master/CONTRIBUTING.asciidoc[guide to contributing].
|
||||
|
||||
== Copyright and License
|
||||
|
||||
This software is Copyright (c) 2013 by Elasticsearch BV.
|
||||
|
||||
This is free software, licensed under:
|
||||
https://github.com/elasticsearch/elasticsearch-perl/blob/master/LICENSE.txt[The Apache License Version 2.0].
|
||||
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue