Other

项目介绍

appbaseio/mirage 是一个托管在 GitHub 上的开源项目,主要使用 TypeScript 编写,采用 Other 许可证,目前获得 2.2k 个 Star、120 次 Fork。

仓库全名
appbaseio/mirage
开源许可证
Other
Star 数
2.2k
Fork 数
120
未关闭 Issue
31

README 摘要

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…

完整内容见 GitHub 原始 README 或本页 。

常见问题

mirage 用什么语言开发?

主要使用 TypeScript 编写,采用 Other 许可证,目前有 2.2k 个 Star。

mirage 可以免费商用吗?

仓库标注的许可证为 Other,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 mirage 的源码?

可以直接克隆仓库:git clone https://github.com/appbaseio/mirage.git,默认分支为 dev;安装与运行步骤见仓库 README。

mirage 最近还在维护吗?

仓库最近一次更新为 2022年12月3日,当前有 31 个未关闭 Issue;Star 数为 2.2k,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

:art: GUI for simplifying Elasticsearch Query DSL

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
2486
价值分
1359
活跃状态
活跃

语言占比

CSS
Dockerfile
HTML
JavaScript
TypeScript

Release

README

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

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

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

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.

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.

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

评论

暂无评论