Livestreams Web Development

Webinar recap: Building Search Functionality With Python, Flask, and Elasticsearch


In this webinar, Aravind covered the following topics step by step in a Github branch.

  1. Building a basic Python Flask application. (1-basic-flask-app)
  2. TailwindCSS to build a beautiful search experience (2-add-tailwindcss)
  3. Working with elasticsearch-py and elasticsearch-dsl libraries (3-add-elasticsearch)
  4. Working with Elastic App Search client library (4-add-appsearch)
  5. Shipping logs, traces from the flask app (5-apm-logs)
  6. Building a Docker container (6-deploy)

The entire code is available under this repository, and you can click here to watch the full recording.

Questions from the session:

  1. What are the ways to build a search experience using Elasticsearch with the existing RDBMS data?
  2. A: There are two primary ways: Using Logstash plugin – logstash-input-jdbc or Using the client libraries.

    • By using the logstash plugin (input-jdbc-plugin), you can connect to any RDBMS data and effectively sync the data to elasticsearch. You can also do incremental data fetching.
    • By using the client libraries, like elasticsearch-py, Java high-level REST clients directly ship the data to elasticsearch directly from the application.
  3. Can we use Elasticsearch like an RDBMS?
  4. A: Yes, with some caveats. There are several organizations that use Elasticsearch as their primary data store. But, please note that you need to have a disaster recovery strategy for the data stored in the cluster. You might want to snapshot your data to an object store like S3 or GCS.

image description