百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
M

mirage

> 数据库
开源

:art: 用于简化 Elasticsearch 查询 DSL 的 GUI

2.2K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

:art: 用于简化 Elasticsearch 查询 DSL 的 GUI

Mirage: GUI for Elasticsearch Queries

  1. Mirage: Intro
  2. Features
  3. Roadmap
  4. Build Locally
  5. How to contribute
  6. Get Mirage
    a. Hosted
    b. Chrome Extension
    c. Appbase.io
    d. Run with Docker
    e. Elasticsearch Plugin (deprecated)

1. Mirage: Intro

The Elasticsearch query DSL supports 100+ query APIs ranging from full-text search, numeric range filters, geolocation queries to nested and span queries.

Mirage is a modern, open-source web based query explorer for Elasticsearch. It offers a blocks based GUI for composing Elasticsearch queries and comes with an on-the-fly transformer to show the corresponding JSON query API of Elasticsearch.


2. Features

  • Mirage's GUI building blocks offer a smart way to creating queries. It uses the index's Elasticsearch mappings and the selected field's datatype to show only the applicable queries in the dropdown.

  • Mirage provides two ways to add compound query clauses,
    • Add Conditions allows adding additional clauses within the same query and
    • Nested Query allows adding a nested query clause.

  • Queries can be saved for later reuse. They can also be captured and shared by copying the URL.

  • See docs for any query from within the app.


3. Roadmap

Mirage works with any Elasticsearch 2.x, 5.x, 6.x and 7.x index currently. Below is the roadmap for query support.

✓ indicates queries already supported.
➕ indicates queries we would like to support and see contributions for.
❌ indicates queries that can't be supported currently.

Full-text Queries Term Level Queries Joining Queries Geo Queries Specialized Queries Span Queries
✓ Match ✓ Term ✓ Nested ✓ GeoDistance ➕ MoreLikeThis ✓ SpanTerm
✓ Multi-match ✓ Terms ✓ HasChild ✓ GeoBoundingBox ➕ Template ➕ SpanMulti
✓ Query String ✓ Range ✓ HasParent ✓ GeoShape ❌ Script ✓ SpanFirst
✓ Simple Query String ✓ Exists ✓ ParentId ✓ GeoDistanceRange ➕ SpanNear
✓ Common Terms ✓ Missing ✓ GeoPolygon ➕ SpanOr
✓ Prefix ✓ GeoHashCell ➕ SpanNot
✓ Wildcard ➕ SpanContaining
✓ Regexp ➕ SpanWithin
✓ Fuzzy
✓ Ids
❌ Type

Besides broadening the query support, we would like to see Mirage support Elasticsearch v5.0.


4. Build Locally

bash
$ npm install
$ bower install
$ npm start

This will start a local webserver running on port 3030 serving mirage locally.

Tests

bash
$ npm test

will fire up the jasmine tests.

master branch: Elasticsearch Plugin

bash
$ npm run build_es_plugin

chrome-extension branch: Chrome extension

bash
$ npm run build_chrome_extension

5. How to Contribute

  1. Find a query that can be supported from the roadmap.
  2. Fork the mirage repo and update in "dev" branch.
  3. Create the query files.
  4. Build locally and run npm test.
  5. Submit a PR!

6. Get Mirage

Mirage is available as a hosted app and as a chrome extension.

Use hosted app

or

Get the Chrome extension

Note: We're working on bringing this back.

or

appbase.io dashboard

Every app in appbase.io has a query explorer view, which uses mirage.

or

Run with docker

Works with Elasticsearch versions 1.x, 2.x, 5.x, 6.x and 7.x.

bash
docker run -p 3030:3030 -d appbaseio/mirage

CORS settings: To make sure you enable CORS settings for your ElasticSearch instance, add the following lines in the ES configuration file.

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

Install as Elasticsearch Plugin

[Deprecated] Works with Elasticsearch versions 1.x and 2.x. Site plugins have been disabled starting v5.0. We recommend running mirage with docker instead.

bash
plugin install appbaseio/mirage

Note: Elasticsearch has a CORS header issue with v2.3.0, use v2.3.2 and above.

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

After installing the plugin, start the elasticsearch service and visit the following URL to access it.

http://127.0.0.1:9200/_plugin/mirage

Note: If you use Elasticsearch from a different port, the URL to access and the http.cors.allow-origin value in the configuration file would change accordingly.

Mirage can be used along with ⊞ DejaVu to browse data and perform CRUD operations inside an Elasticsearch index.


Proudly built with

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

TypeScriptchrome-extensiondatabase-guielasticsearchelasticsearch-plugin

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类数据库
定价开源

> 相关工具

P
PostgreSQL
功能强大的开源关系型数据库
R
Redis
内存数据结构存储,常用作缓存与队列
M
MySQL
广泛使用的开源关系型数据库