diff options
author | Clinton Gormley <clint@traveljury.com> | 2013-10-15 17:22:21 +0200 |
---|---|---|
committer | Clinton Gormley <clint@traveljury.com> | 2013-10-15 17:22:34 +0200 |
commit | 4798425da6f1a009db1ddf3519adcd94a31b6dfc (patch) | |
tree | cc3763d990d15e3c7d6f5f953acac7cf237714c5 /docs/perl | |
parent | 4d19239ec4966c82b2cc9793902686f0cbab0fcf (diff) |
[Docs] Added a page for the Perl client
Diffstat (limited to 'docs/perl')
-rw-r--r-- | docs/perl/index.asciidoc | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/docs/perl/index.asciidoc b/docs/perl/index.asciidoc new file mode 100644 index 0000000000..967d64e972 --- /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]. + + + |