Dejavu is a free and open source web UI for Elasticsearch built with the goal of creating a modern Web UI (no page reloads, infinite scroll, filtered views, realtime updates, search UI builder) for Elasticsearch with 100% client-side rendering. It can be run in Docker container, hosted app on github pages or as a chrome extension. dejavu is the only Elasticsearch web UI that has support for importing data via CSV and JSON files, as well as defining field mappings from the GUI.
This short guide we’ve prepared to help you with the installation and usage of dejavu Elasticsearch Web UI. Some of the key features of dejavu Web UI for Elasticsearch are:
- Modern UI elements: Dejavu supports paginated view which also allows you to change page size. It also supports browsing data from multiple indexes and types, updating data either individually or via queries in bulk.
- Import JSON or CSV Data: Importer view allows importing CSV or JSON data directly into Elasticsearch through a guided data mappings configuration.
- Build Search UIs: With Search Preview, you can now build visual search UIs, test search relevancy and export code to a codesandbox.
- Visual Filters: Sort through the data, find information visually, hide irrelevant data and make sense of all.
- Easily Connect and Remember Indices: Dejavu allows you to connect to any of the indexes present in your cluster and also caches each connected index locally so they are easily accessible when browsing again.
You need a working Elasticsearch installation before so you can connect Dejavu to it. See our guides below on the installation of Elasticsearch.
Install dejavu – Web UI for Elasticsearch
In our installation we’ll use Docker but you can also install dejavu as hosted app on github pages, as a chrome extension. For Docker installation method it means you need a running Docker engine or Podman container runtime.
Since this Lab is done on Ubuntu 20.04, I can easily install Docker container runtime by running the following commands in the terminal.
sudo apt update sudo apt -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common sudo apt remove docker docker-engine docker.io containerd runc curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io sudo usermod -aG docker $USER newgrp docker
Once Docker or Podman is installed, use it to run dejavu application to get Elasticsearch UI.
--- Using Docker --- $ docker run -p 1358:1358 -d appbaseio/dejavu --- Using Podman --- $ podman run -p 1358:1358 -d appbaseio/dejavu
Check that the container is running:
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cab2b3381aa0 appbaseio/dejavu "/bin/sh -c 'node pa…" 36 seconds ago Up 35 seconds 0.0.0.0:1358->1358/tcp vigorous_banach
Then open Dejavu web console in your web browser.
You should see a web dashboard similar to below.
You’re now ready to browse Elasticsearch data, import data, query and many other functions.