[Docs] Added a page for the Perl client
This commit is contained in:
parent
4d19239ec4
commit
4798425da6
|
@ -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
|
||||||
|
|
|
@ -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…
Reference in New Issue