A Python client for elasticsearch.
pyelasticsearch
handles the low-level interactions with elasticsearch, allowing you to use native Python datatypes to index or perform queries.
Example:
conn = ElasticSearch('http://localhost:9200/')
# Index some documents.
conn.index({"name":"Joe Tester", "age": 25, "title": "QA Master"}, "contacts", "person", 1)
conn.index({"name":"Jessica Coder", "age": 32, "title": "Programmer"}, "contacts", "person", 2)
conn.index({"name":"Freddy Tester", "age": 29, "title": "Office Assistant"}, "contacts", "person", 3)
# Refresh the index to pick up the latest documents.
conn.refresh(["contacts"])
# Get just Jessica's document.
jessica = conn.get("contacts", "person", 2)
# Perform a simple search.
results = conn.search("name:joe OR name:freddy")
# Perform a search using the elasticsearch Query DSL (http://www.elasticsearch.org/guide/reference/query-dsl)
query = {
"query_string": {
"query": "name:tester"
},
"filtered": {
"filter": {
"range": {
"age": {
"from": 27,
"to": 37,
},
},
},
},
}
results = conn.search(query)
# Clean up.
conn.delete_index("contacts")
For more examples, please check out the doctests & tests.py
.
Licensed under the New BSD license.
Used pysolr as a jumping off point - thanks guys.