[Docs] Added a page for the Perl client

This commit is contained in:
Clinton Gormley 2013-10-15 17:22:21 +02:00
parent 4d19239ec4
commit 4798425da6
2 changed files with 107 additions and 3 deletions

View File

@ -5,9 +5,7 @@
[[community-perl]] [[community-perl]]
=== Perl === Perl
* http://github.com/clintongormley/ElasticSearch.pm[ElasticSearch.pm]: See the http://www.elasticsearch.org/guide/en/elasticsearch/client/php-api/current/index.html[official Elasticsearch Perl client].
Perl client.
[[community-python]] [[community-python]]
=== Python === Python

106
docs/perl/index.asciidoc Normal file
View 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].