dejavu

appbaseioMIT更新放缓

Elasticsearch 和 OpenSearch 的网页版管理界面,可以导入、浏览、编辑数据,支持丰富的过滤和查询视图,还能快速搭建搜索 UI。

A Web UI for Elasticsearch and OpenSearch: Import, browse and edit data with rich filters and query views, create reference search UIs.

3.10.0发布于 2025-09-07 13:02 UTC8,468star511fork同步于 2026-11-10 17:32 UTC

怎么上手

由 README 提炼,执行前请确认
docker run -p 1358:1358 -d appbaseio/dejavu
open http://localhost:1358/
硬件要求按 README 说明

README 未说明硬件要求;作为纯前端 Web UI 通过 Docker 运行,无需 GPU,只需能访问 Elasticsearch/OpenSearch 实例

有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

Elasticsearch/OpenSearch 的纯前端 Web 管理界面,用来导入、浏览、编辑数据并搭建搜索 UI

Elasticsearch 和 OpenSearch 的网页版管理界面,可以导入、浏览、编辑数据,支持丰富的过滤和查询视图,还能快速搭建搜索 UI。

核心能力

  • 纯客户端渲染,可 Docker 部署或直接用托管版
  • 支持 JSON/CSV 导入并在 GUI 中配置字段映射
  • 可视化过滤器与全局搜索,结果可导出 JSON/CSV
  • 通过 Query DSL 批量更新数据,支持多索引浏览
  • 可视化搭建分面搜索 UI 并导出代码到 CodeSandbox

容易踩的坑

需在 Elasticsearch 的 elasticsearch.yml 中开启 CORS 并允许 http://localhost:1358,否则前端连不上集群;默认端口为 1358,与 ES 的 9200 不同;ES 8.x 需关闭 xpack.security 或自行配置认证头才能直连

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本3.10.0
  1. 3.10.0最新正式版2025-09-07 · 2025-09-07 13:02 UTC

    Release Changelog - September 7, 2025

    Highlights

    • Built-in “Import Data” view
      Embed @appbaseio/importer as a first-class route to import CSV / JSON array / NDJSON into OpenSearch or Elasticsearch. Runs fully in-browser (works with localhost/VPC); internet clusters must allow browser CORS. (bff5e74)

    Features

    • Add left-nav Import Data → /import, bundle sample “movies” dataset, and “View in Dejavu” post-import flow. (bff5e74)

    Build & Tooling

    • Upgrade to React 18. (fea7693)
    • Migrate app & site to Webpack 5 (html-webpack-plugin v5, asset modules, css-minimizer, devServer updates). (6cc2b4b)
    • Version bump and build fixes for 3.10.0. (cecb56c)

    Dependency Updates

    Merges & Maintenance

    • Merge dependabot elliptic update. (05b3f58)
    • Routine sync/maintenance. (7880d83)

    Thanks to contributors: @siddharthlatest, @dependabot.

  2. 3.9.02025-08-27 · 2025-08-27 12:24 UTC
    查看更新说明

    Release Changelog - August 27, 2025

    Highlights

    • Official compatibility updates:
      • Adds support for OpenSearch v3.0 and above
      • Adds support for Elasticsearch v9.0 and above

    Features

    • Connect flow improvements:
      • Enable Connect button when required values are valid.
      • Validate app name and URL.
      • Automatically prepend http to URL if missing. Contributions by Du Tran. (Refs: issue-480, issue-481)

    Build & Tooling

    • Node Support: Build now supports Node v22.
    • Versioning: Bumped app version to 3.9.0.

    Dependency Updates

    • Bumped cipher-base from 1.0.4 to 1.0.6. (PR #502)
    • Bumped sha.js from 2.4.11 to 2.4.12. (PR #501)
    • Bumped brace-expansion from 1.1.11 to 1.1.12. (PR #500)
    • Bumped @babel/runtime from 7.20.6 to 7.27.6. (PR #499)
    • Bumped pbkdf2 from 3.0.17 to 3.1.3. (PR #498)
    • Previously: Bumped elliptic from 6.5.7 to 6.6.0. (PR #495)
    • build(deps): bump tar-fs from 1.16.3 to 1.16.5 (PR #503)

    Merges & Maintenance

    • Merged index name/connection validation improvements. (PR #497)
    • Merged URL auto-prefixing enhancement. (PR #496)
    • Routine chores and version updates.

    Thanks to contributors: Du Tran (@quangdutran), @dependabot, and @siddharthlatest.

  3. 3.8.32024-09-29 · 2024-09-29 09:31 UTC
    查看更新说明

    Release Changelog - Sep 29, 2024

    Fixes

    • Search Preview:

      • Improved robustness of version checking logic.
      • Fixed issue with setting mappings to state.
      • Removed query explorer from navigation.
    • Version Management:

      • Explicit version usage logic to enhance clarity.
      • Improved reliability when fetching the search engine version.

    Build & Dependencies

    • Node Support: Updated build to support Node v20 LTS.
    • Docker: Updated Docker workflows and base image for improved deployment. Supports multi-arch builds.
    • Docker-compose: Update Docker compose flows. Tested with Elasticsearch 8.15.1 and OpenSearch 2.17.0
    • Dependency Updates:
      • Bumped express from 4.18.2 to 4.21.0.
      • Bumped elliptic from 6.5.2 to 6.5.7.
      • Bumped dompurify from 2.3.6 to 2.5.4.

    Miscellaneous

    • Various formatting changes and README updates for better documentation.
    • Updated yarn lock file for dependency management.
  4. 3.6.02022-03-14 · 2022-03-14 09:38 UTC
    查看更新说明

    Enhancements

    This release adds support for OpenSearch 1.x and Elasticsearch 8.x search engines.

    This release also now adds docker image support for both linux/amd64 and linux/arm64 architectures.

    Usage:

    docker pull appbaseio/dejavu:3.6.0 will fetch the image for your architecture. View image on dockerhub

    Security Fixes

    • This release contains a security fix to the XSS vulnerability issue mentioned in #430
    • This release also contains security fixes for the dependencies of Dejavu
  5. 3.5.32021-09-10 · 2021-09-10 07:14 UTC
    查看更新说明

    Fixes

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    dejavu: The Web UI for OpenSearch and Elasticsearch

    GitHub License React Version Docker Pulls

    1. Dejavu: Intro
    2. Features
      a. Easily Connect to Indices
      b. Visual Filters
      c. Modern UI Elements
      d. Import JSON or CSV Data
      e. Build search UIs
    3. Comparison
    4. Roadmap
    5. Build Locally / Contributing
    6. Get Dejavu
      a. Docker Installation
      b. Hosted Alternatives

    1. Dejavu Intro

    Dejavu is a modern web UI for OpenSearch and Elasticsearch.

    It was designed with the goal of providing a seamless user experience, featuring no page reloads, infinite scroll, filtered views, real-time updates, and a search UI builder. With 100% client-side rendering, Dejavu can easily be run as a hosted app on github pages or as a docker image.

    Starting 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.

    Starting with v1.5, we support the ability of creating custom headers so you can easily pass different authentication headers, provide enhanced filtering and bulk updating of data via Elasticsearch's Query DSL.

    Starting with v2.0, we support the ability to build faceted search UIs to test relevancy. You can also export the generated code to a codesandbox.

    Starting with v3.0, we support the ability to connect to multiple indexes. You can also globally search across your indexes using global search bar.

    2. Features

    Easily Connect and Remember Indices

    Connect to an Index

    Dejavu allows you to connect to any index present in your cluster and caches each connected index locally, making them easily accessible when browsing again.

    Visual Filters

    Filter Views

    Sort through data, find information visually, hide irrelevant data, and make sense of everything using the native data types. The global search bar allows you to perform text searches across your dataset.

    Additionally, any filtered view can be exported as a JSON or CSV file.

    Modern UI Elements

    Pagination

    It's not uncommon to have thousands of documents in your index. Dejavu supports a paginated view that also allows you to change the page size.

    Dejavu also supports browsing data from multiple indexes and types, updating data either individually or via queries in bulk. Deletions are also supported.

    Import JSON or CSV Data

    Import JSON or CSV files

    The importer view allows you to import CSV or JSON data directly into Elasticsearch through a guided data mapping configuration.

    Build Search UIs

    Build search UIs

    With Search Preview, you can now build visual search UIs, test search relevancy, and export code to CodeSandbox.


    3. Comparison with other data browsers

    FeaturesdejavuES-headES-kopfES-browserKibana
    InstallationDocker image, Hosted appElasticsearch plugin, static pageElasticsearch plugin, static pageElasticsearch plugin (doesn't work with 2.0+)Elasticsearch plugin
    Modern UIReact 16.6.jQuery 1.6.1, slightly stodgyAngular 1.xExtJs, a bit stodgyNode.JS, Hapi, Jade
    Browser featuresCRUD, data filtersRead data, full-text search❌Data view for a single typeRead view, visualizations, charting
    Data import/export✔️ JSON, CSV❌❌❌Only export, no CSV
    Search previewVisually build and test search UI❌❌❌❌
    LicenseMITApache 2.0MITApache 2.0Apache 2.0

    4. Roadmap

    Here's a rough roadmap of things to come in the version 1.0.0 release.

    🎆 We just hit the 1.0.0 roadmap:

    • Battle-testing with different datasets
    • Feature support for advanced filtering Offline detection and reconnection for realtime updates
    • Performance improvements while scrolling
    • Support for importing and exporting data
    • Support for a continuous query view
    • Available as a docker image

    🍾 We just hit the 2.0.0 release:

    • 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
    • Refactor codebase to improve hackability (Migrate to React 16+, ES6 syntax)
    • Ability to build (and test) search visually

    ✨ We just hit the 3.0.0 release:

    • Rewrite dejavu browser for high performance when browsing large datasets
    • Add support for browsing multiple indexes
    • Powerful filtering of data with field level facet based filters and a global search
    • Built on React 16.6 and future compatible with React 17
    • A more intuitive data editing experience (in addition to the raw JSON, we now show a relevant UI field with validations)

    5. Build Locally

    See the contributing guidelines.


    6. Get Dejavu

    Docker Installation
    docker run -p 1358:1358 -d appbaseio/dejavu
    open http://localhost:1358/
    

    You can also run a specific version of dejavu by specifying a tag. For example, version 3.6.0 can be used by specifying the docker run -p 1358:1358 appbaseio/dejavu:3.6.0 command.

    Cross-origin resource sharing (CORS)

    To make sure you enable CORS settings for your Elasticsearch instance, add the following lines in the elasticsearch.yml configuration file.

    http.port: 9200
    http.cors.allow-origin: 'http://localhost:1358'
    http.cors.enabled: true
    http.cors.allow-headers: X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
    http.cors.allow-credentials: true
    

    If you are running your Elasticsearch with docker-compose, you can refer to the example reference here.

    If you are running your Elasticsearch with docker, you can use the following flags to pass the custom CORS configuration:

    OpenSearch 1.x
    docker run --name opensearch --rm -d -p 9200:9200 -e http.port=9200 -e discovery.type=single-node -e http.max_content_length=10MB -e http.cors.enabled=true -e http.cors.allow-origin=\* -e http.cors.allow-headers=X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization -e http.cors.allow-credentials=true -e plugins.security.disabled=true opensearchproject/opensearch:2.17.0
    

    You can run both Opensearch and Dejavu together with:

    docker-compose up -d

    Elasticsearch 8.x
    docker run -d --rm --name elasticsearch -p 127.0.0.1:9200:9200 -e http.port=9200 -e discovery.type=single-node -e http.max_content_length=10MB -e http.cors.enabled=true -e http.cors.allow-origin=\* -e http.cors.allow-headers=X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization -e http.cors.allow-credentials=true -e network.publish_host=localhost -e xpack.security.enabled=false docker.elastic.co/elasticsearch/elasticsearch:8.15.1
    

    You can run both Elasticsearch 8.15.1 and Dejavu together with:

    docker-compose -f docker-compose-v8.yml up -d

    Elasticsearch 7.x
    docker run -d --rm --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "http.cors.enabled=true" -e "http.cors.allow-origin=*" -e "http.cors.allow-headers=X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization" -e "http.cors.allow-credentials=true" docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
    

    You can run both Elasticsearch 7.10.2 and Dejavu together with:

    docker-compose -f docker-compose-v7.yml up -d

    Hosted Alternatives

    dejavu can also be run as a hosted app at https://dejavu.appbase.io.