:art: 用于简化 Elasticsearch 查询 DSL 的 GUI
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.
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.
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.
$ npm install
$ bower install
$ npm startThis will start a local webserver running on port 3030 serving mirage locally.
$ npm testwill fire up the jasmine tests.
master branch: Elasticsearch Plugin$ npm run build_es_pluginchrome-extension branch: Chrome extension$ npm run build_chrome_extensionnpm test.Mirage is available as a hosted app and as a chrome extension.
or
Note: We're working on bringing this back.
or
Every app in appbase.io has a query explorer view, which uses mirage.
or
Works with Elasticsearch versions 1.x, 2.x, 5.x, 6.x and 7.x.
docker run -p 3030:3030 -d appbaseio/mirageCORS 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[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.
plugin install appbaseio/mirageNote: 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: trueAfter 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,或尚未同步最近议题。