Meet dejavu, the Elasticsearch web UI that supports importing data via JSON and CSV files
© Shutterstock / ManeeshUpadhyay
dejavu claims to be the missing Web UI for Elasticsearch. As of v1.0, this is the only Elasticsearch web UI that supports importing data via JSON and CSV files, as well as defining field mappings from the GUI. Let’s have a look at the highlights.
Appbase.io , the creators of dejavu —and Reactivesearch, which we covered here— claim that you’ll need this web UI for Elasticsearch because “existing web UIs leave much to be desired or are built with server side page rendering techniques that make it less responsive and bulkier to run,” according to the GitHub repo.
They wanted to create a modern Web UI (no page reloads, infinite scroll, filtered views, realtime updates) with 100% client-side rendering so one can easily run it as a hosted app on github pages, as a chrome extensionor as a docker image — this is how dejavu came into being. As of
v1.0, dejavu is “the only Elasticsearch web UI that supports importing data via JSON and CSV files, as well as defining field mappings from the GUI.”
Right now (v1.5), it also supports the ability to create custom headers. This way, you can easily pass different authentication headers, provide enhanced filtering and bulk updating of data via Elasticsearch’s Query DSL.
- Easily connect and remember indices. This Web UI allows you to connect to any of the indexes present in your cluster and caches each connected index locally to ensure that you can easily access them when you browse again.
- Visual filters. They identify data mappings from the Elasticsearch index and, if dejavu sees a
textfield, it will provide filters for search, has and has not and recognize if the data is analyzed. Moreover, any filtered view can be exported back as a JSON or CSV file.
- Enhanced filtering with queries. Dejavu supports an infinite scroll-based UI, as well as browsing data from multiple types, updating data either individually or via queries in bulk. Deletions are also supported.
- Realtime data updates. dejavu uses a websockets based API and subscribes for data changes for the current filtered view. However, this can only work if the Elasticsearch server supports a websockets based publish API. You can use this feature by hosting your data with appbase.io.
- Import JSON or CSV data directly into Elasticsearch through a guided data mappings configuration.
What’s next for dejavu?
dejavu 1.0.0 was recently released so now it’s time to make plans for version 2.0.0, which should have the following features:
- An intuitive data editing experience in tabular mode (v/s JSON edit mode)
- View data types from within the data browser view
- A more streamlined import process
- Create a test coverage suite
- Improve responsiveness and performance when browsing large datasets
- Refactor codebase to improve hackability (Migrate to React 16+, ES6 syntax)
In the future, the team also wants to:
- Support addition of custom analyzers, and updating index settings
- Make editing of data experience more intuitive (in addition to the raw JSON, show a relevant UI field with validations)
- Connectors to dashboarding systems for a more flavored visualization experience.