Examples

edit

Below you can find examples of how to use the most frequently called APIs with the Python client.

Indexing a document

edit

To index a document, you need to specify three pieces of information: index, id, and a document:

from datetime import datetime
from elasticsearch import Elasticsearch
es = Elasticsearch('https://localhost:9200')

doc = {
    'author': 'author_name',
    'text': 'Interesting content...',
    'timestamp': datetime.now(),
}
resp = es.index(index="test-index", id=1, document=doc)
print(resp['result'])

Getting a document

edit

To get a document, you need to specify its index and id:

resp = es.get(index="test-index", id=1)
print(resp['_source'])

Refreshing an index

edit

You can perform the refresh operation on an index:

es.indices.refresh(index="test-index")

Searching for a document

edit

The search() method returns results that are matching a query:

resp = es.search(index="test-index", query={"match_all": {}})
print("Got %d Hits:" % resp['hits']['total']['value'])
for hit in resp['hits']['hits']:
    print("%(timestamp)s %(author)s: %(text)s" % hit["_source"])

Updating a document

edit

To update a document, you need to specify three pieces of information: index, id, and a doc:

from datetime import datetime
from elasticsearch import Elasticsearch

client = Elasticsearch('https://localhost:9200')

doc = {
    'author': 'author_name',
    'text': 'Interesting modified content...',
    'timestamp': datetime.now(),
}
resp = client.update(index="test-index", id=1, doc=doc)
print(resp['result'])

Deleting a document

edit

You can delete a document by specifying its index, and id in the delete() method:

client.delete(index="test-index", id=1)