[ANNOUNCEMENT] Node based proxy server for Elastic Search


(Lukáš Vlček) #1

Hi,

I implemented proxy server for Elastic Search in Node. It can be found
here: http://github.com/lukas-vlcek/node.es
Basically it provides the following for you:

  1. It can restrict access to Elastic Search HTTP REST API (by default it
    exposes safe operations only).
  2. You can provide handlers to modify HTTP client request (e.g. you can
    ensure that size is not too big) and Elastic Search response (e.g. you can
    remove sensitive data).
  3. It round-robin client requests among active HTTP enabled nodes (it
    periodically refreshes list of active nodes), thus, it can provide a single
    URL for clients to communicate with Elastic Search cluster.

More detailed documentation can be found in the source code:


The code is still quite new and a bit sketchy at some parts but I would love
to get some feedback.

Regards,
Lukas


(Shay Banon) #2

This looks great lukas!, hopefully this will also be the home for a node.js
client for elasticsearch.

-shay.banon

On Fri, Oct 22, 2010 at 4:03 PM, Lukáš Vlček lukas.vlcek@gmail.com wrote:

Hi,

I implemented proxy server for Elastic Search in Node. It can be found
here: http://github.com/lukas-vlcek/node.es
Basically it provides the following for you:

  1. It can restrict access to Elastic Search HTTP REST API (by default it
    exposes safe operations only).
  2. You can provide handlers to modify HTTP client request (e.g. you can
    ensure that size is not too big) and Elastic Search response (e.g. you can
    remove sensitive data).
  3. It round-robin client requests among active HTTP enabled nodes (it
    periodically refreshes list of active nodes), thus, it can provide a single
    URL for clients to communicate with Elastic Search cluster.

More detailed documentation can be found in the source code:
http://github.com/lukas-vlcek/node.es/blob/master/proxy/elasticsearch-proxy.js
The code is still quite new and a bit sketchy at some parts but I would
love to get some feedback.

Regards,
Lukas


(system) #3