From 4798425da6f1a009db1ddf3519adcd94a31b6dfc Mon Sep 17 00:00:00 2001 From: Clinton Gormley Date: Tue, 15 Oct 2013 17:22:21 +0200 Subject: [PATCH] [Docs] Added a page for the Perl client --- docs/community/clients.asciidoc | 4 +- docs/perl/index.asciidoc | 106 ++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+), 3 deletions(-) create mode 100644 docs/perl/index.asciidoc diff --git a/docs/community/clients.asciidoc b/docs/community/clients.asciidoc index 6db3821e6ae..f08e48b894f 100644 --- a/docs/community/clients.asciidoc +++ b/docs/community/clients.asciidoc @@ -5,9 +5,7 @@ [[community-perl]] === Perl -* http://github.com/clintongormley/ElasticSearch.pm[ElasticSearch.pm]: - Perl client. - +See the http://www.elasticsearch.org/guide/en/elasticsearch/client/php-api/current/index.html[official Elasticsearch Perl client]. [[community-python]] === Python diff --git a/docs/perl/index.asciidoc b/docs/perl/index.asciidoc new file mode 100644 index 00000000000..967d64e9720 --- /dev/null +++ b/docs/perl/index.asciidoc @@ -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]. + + +