GithubHelp home page GithubHelp logo

jettro / elasticsearch-gui Goto Github PK

View Code? Open in Web Editor NEW
542.0 33.0 78.0 6.37 MB

An angularJS client for elasticsearch as a plugin

Home Page: www.gridshore.nl/esgui

License: Apache License 2.0

JavaScript 72.48% HTML 27.11% CSS 0.41%

elasticsearch-gui's Introduction

Introduction

Join the chat at https://gitter.im/jettro/elasticsearch-gui Welcome to the Gui plugin for elasticsearch. Using this plugin you can explore your elasticsearch index. This plugin gives you a few different ways to start exploring. There is a way to search the repository in a way you would do it on a web site. You can enter keywords, do advanced search, use facets. Another way to explore the index is focussed on learning the structure of the actual executed query. You can enter a number of items to include in the query. You can enter fields, facets, highlighting, limit the indexes, limit the types. Finally there is a way to show some of the data in a graph.

Installation

local installation

You can install the plugin in your own elasticsearch instance using the following command in the elasticsearch folder:

[~/elasticsearch] $ bin/plugin install jettro/elasticsearch-gui 

Next you can browse to you elasticsearch instance: http://localhost:9200/_plugin/gui/index.html

use deployed installation

Since we use mainly JavaScript, it is possible to connect to a remote elasticsearch instance. To facilitate this, elasticsearch returns a specific html header.

That way you can use my installed version of the plugin to connect to your local elasticsearch instance. You can find it at the following url: Remote installed plugin @gridshore

Starting from elasticsearch 1.4 there have been some security measures. One thing is that CORS is now by default disabled. This is smart from security perspective but prevents this plugin from running if you are not coming from the same host as the elasticsearch server. If you still want this to work add the following properties to elasticsearch.yml:

http.cors.enabled: true
http.cors.allow-origin: "http://www.gridshore.nl"

Older versions

Currently we develop agains elasticsearch v2.0. Due to some api changes you cannot use it with older elasticsearch installations. You can however use the older versions in branch v1.1.x and v0.90.8+. On my website you can also access the older version using the url:

Remote installed plugin @gridshore (v1.2) Remote installed plugin @gridshore (v1.1) Remote installed plugin @gridshore (v0.90)

TODO's

  • Replace all callbacks with promises.
  • Use the resolve function of a routing instead of a initializer function.
  • Check startup logic to do the configurations
  • While starting, config object is not automaticalle started.

elasticsearch-gui's People

Contributors

dvberkel avatar emcconne avatar githubjeka avatar gitter-badger avatar jettro avatar stevenmaude avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

elasticsearch-gui's Issues

add pagination to the results

I want to have pagination to the results of the query functionalities:
{
"from" : 9,
"size" : 20,
"query" : {
...
}
}

Improve the structure of the ui

  • Initial screen is the dashboard, so the dashboard will become the homescreen
  • The current home screen will become the search screen
  • Remove the statistics screen, it is still not used
  • Add the logo's to the about screen and write something about the plugin

Change behavior for selecting highlighting and explain

At the moment you have to explicitly refresh the query to see what the changes are when you select highlighting, explain or the type of query (or, and, phrase). I want to add something like a watch to change this when the value changes. Then the refresh button for the query can also be removed.

Implement error handling

At the moment there is no mechanism for error handling. There should be a generic mechanism for client side validation but also for errors when communicating with the server.

Make it possible to deploy the plugin on github and chose the server to connect to

Github provides a feature to host a website. Since the plugin is pure JavaScript you can make it connect to another elasticsearch server if the port is available to you.

To be able to use that we need a configuration option to provide a url to the server to connect to and make all calls to a backend to use the server url as well.

Issue in the navbar directive

There is an issue with the current implementation of the navbar. Somehow the status check is performed twice. Seems to be a bug together with the used release of angularjs. Need to bump to released version 1.2.6 of angular and everything is fine.

Exclude _default_ type from shown mappings

The default type is a way to specify generic mapping definition for types that will be created in the future. It's a special type that shouldn't be shown on the UI since it doesn't hold data.

Failed to install plugin

Hi,
This is my error:
root@couch1:/usr/share/elasticsearch# bin/plugin -v --install jettro/elasticsearch-gui
-> Installing jettro/elasticsearch-gui...
Trying https://github.com/jettro/elasticsearch-gui/zipball/master... (assuming site plugin)
Failed: SSLHandshakeException[Remote host closed connection during handshake]; nested: EOFException[SSL peer shut down incorrectly];
Failed to install jettro/elasticsearch-gui, reason: failed to download out of all possible locations..., use -verbose to get detailed information
root@couch1:/usr/share/elasticsearch#

Meanwhile I'm able to get it by wget.
BEST
Afshin

Specify whether a node is client or not in the node list

You can currently see what nodes the cluster is composed of. It would be nice to be able to distinguish between nodes that are just clients or not.

The properties to look at are:

  1. data: whether the node can hold data
  2. master: whether the node can become master

A client node cannot do any of the above.

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.