Browse Source

Added brief overview of the python client to the guide

Honza Kral 12 years ago
parent
commit
4f3ad73854
1 changed files with 81 additions and 0 deletions
  1. 81 0
      docs/python/index.asciidoc

+ 81 - 0
docs/python/index.asciidoc

@@ -0,0 +1,81 @@
+= elasticsearch-py
+
+== Overview
+
+Official low-level client for Elasticsearch. It's goal is to provide common
+ground for all Elasticsearch-related code in Python; because of this it tries
+to be opinion-free and very extendable. The full documentation is available at
+http://elasticsearch-py.rtfd.org/
+
+It can be installed with:
+
+[source,sh]
+------------------------------------
+pip install elasticsearch
+------------------------------------
+
+=== Example use
+
+Simple use-case:
+
+[source,python]
+------------------------------------
+>>> from datetime import datetime
+>>> from elasticsearch import Elasticsearch
+
+# by default we connect to localhost:9200
+>>> es = Elasticsearch()
+
+# datetimes will be serialized
+>>> es.index(index="my-index", doc_type="test-type", id=42, body={"any": "data", "timestamp": datetime.now()})
+{u'_id': u'42', u'_index': u'my-index', u'_type': u'test-type', u'_version': 1, u'ok': True}
+
+# but not deserialized
+>>> es.get(index="my-index", doc_type="test-type", id=42)['_source']
+{u'any': u'data', u'timestamp': u'2013-05-12T19:45:31.804229'}
+------------------------------------
+
+[NOTE] 
+All the API calls map the raw REST api as closely as possible, including
+the distinction between required and optional arguments to the calls. This
+means that the code makes distinction between positional and keyword arguments;
+we, however, recommend that people use keyword arguments for all calls for
+consistency and safety.
+
+=== Features
+
+The client's features include:
+
+* translating basic Python data types to and from json (datetimes are not
+  decoded for performance reasons)
+
+* configurable automatic discovery of cluster nodes
+
+* persistent connections
+
+* load balancing (with pluggable selection strategy) across all available nodes
+
+* failed connection penalization (time based - failed connections won't be
+  retried until a timeout is reached)
+
+* thread safety
+
+* pluggable architecture
+
+
+=== License
+
+Copyright 2013 Elasticsearch
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+