appbaseio/mirage

Name: mirage

Owner: appbase.io

Description: :art: GUI for simplifying Elasticsearch Query DSL

Created: 2016-02-25 06:15:36.0

Updated: 2018-05-23 01:10:23.0

Pushed: 2018-02-09 17:17:39.0

Homepage: http://opensource.appbase.io/mirage

Size: 91125

Language: TypeScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Docker Pulls

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.

2-min Intro to Mirage

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

Watch Queries being built in realtime


Intuitively layer complexity to your queries


Save queries for later reuse

Browse docs from within Mirage


3. Roadmap

Mirage works with an Elasticsearch 2.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
m install
wer install
m start

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

Tests
m test

will fire up the jasmine tests.

master branch: Elasticsearch Plugin
m run build_es_plugin
chrome-extension branch: Chrome extension
m 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

or

appbase.io dashboard

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

Mirage Gif

or

Run with docker

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

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

.port: 9200
.cors.allow-origin: "/.*/"
.cors.enabled: true
.cors.allow-headers: X-Requested-With,X-Auth-Token,Content-Type, Content-Length, Authorization
.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.

in install appbaseio/mirage

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

.port: 9200
.cors.allow-origin: "/.*/"
.cors.enabled: true
.cors.allow-headers: X-Requested-With,X-Auth-Token,Content-Type, Content-Length, Authorization
.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


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.