This is a Flask extension proving simple integration with Elasticsearch using python 3
- Flask >= 1.XXX
- Elasticsearch>=6.4.6
- Python >= 3.8
-
Install the package:
pip install Flask-ESearch
-
In your main app file:
from datetime import datetime from flask import Flask, make_response from flask_esearch import ESearch app = Flask(__name__) # CREATE A ESearch CLIENT es = ESearch() es.init_app(app) @app.route('/') def hello_world(): doc = { 'author': 'kimchy', 'text': 'Elasticsearch: cool. bonsai cool.', 'timestamp': datetime.now(), } try: res = es.index(index="test-index", id=1, body=doc) return make_response(res['result'], 200) except Exception: res = es.get(index="test-index", id=1) return make_response(res['_source'], 200) app.run(debug=True, port=5001)
The above is an example of a Flask app integrating Flask-ESearch and an endpoint
- The instance allows to perform Elasticsearch queries. More info here.
- Testing access
http://127.0.0.1:5001/
.- If is the first access, will show
Created
or else the record inserted
- If is the first access, will show
In order to add your elasticsearch settings, the package allows to change those 2 properties and override them in your settings file.
Name | Type | Default Value |
---|---|---|
ELASTICSEARCH_HOST | string | localhost:9200 |
ELASTICSEARCH_HTTP_AUTH | string | None |