Skip to main content

Extension of Elasticsearch for Flask with a simple integration

Project description

Flask-ESearch

This is a Flask extension proving simple integration with Elasticsearch using python 3

Requirements

  1. Flask >= 1.XXX
  2. Elasticsearch>=6.4.6, <=7.7.1
  3. Python 3.6 or later

How to use

  1. Install the package:

    pip install Flask-ESearch
    
  2. 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(print(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

  1. The instance allows to perform Elasticsearch queries. More info here.
  2. Testing access http://127.0.0.1:5001/.
    1. If is the first access, will show Created or else the record inserted

Custom Settings

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Flask-ESearch-0.3.0.tar.gz (4.5 kB view hashes)

Uploaded Source

Built Distribution

Flask_ESearch-0.3.0-py2.py3-none-any.whl (4.3 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page