GithubHelp home page GithubHelp logo

ankurbits87 / mirage Goto Github PK

View Code? Open in Web Editor NEW

This project forked from appbaseio/mirage

0.0 2.0 0.0 85.55 MB

๐Ÿ”Ž GUI for writing Elasticsearch queries

Home Page: http://appbaseio.github.io/mirage

License: Other

HTML 11.80% TypeScript 72.80% CSS 12.26% JavaScript 3.14%

mirage's Introduction

Mirage: The missing query explorer for Elasticsearch

  1. Mirage: Intro
  2. Features
  3. Roadmap
  4. Build Locally
  5. How to contribute
  6. Get Mirage

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

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

Watch Queries being built in realtime


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

Intuitively layer complexity to your queries


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

Save queries for later reuse

  • See docs for any query from within the app.

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 โž• GeoShape โž• MoreLikeThis โž• SpanTerm
โœ“ Multi-match โœ“ Terms โž• HasChild โž• GeoBoundingBox โž• Template โž• SpanMulti
โœ“ Query String โœ“ Range โž• HasParent โž• GeoDistance โŒ Script โž• SpanFirst
โœ“ Simple Query String โœ“ Exists โž• 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

$ npm install 
$ bower install
$ npm start

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

Tests

$ npm test

will fire up the jasmine tests.

master branch: Elasticsearch Plugin

$ npm run build_es_plugin

chrome-extension branch: Chrome extension

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

or

or

Install as Elasticsearch Plugin

plugin install appbaseio/mirage

Note: 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://127.0.0.1:9200"
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.


Proudly built with

mirage's People

Contributors

farhan687 avatar siddharthlatest avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.