elasticsearch-memcache

A node.js driver for elasticsearch over the memcache protocol

elasticsearch-memcache

nodejs elasticsearch client over memcache

Install

To install the most recent release from npm, run:

npm install elasticsearch-memcache

To install the latest from the repository, run:

npm install path/to/elasticsearch-memcache

You need also the memcached plugin installed at your elasticsearch instance, take a look here elasticsearch memcached plugin installable over github elasticsearch-transport-memcached

Introduction

var es = require("elasticsearch-memcache");
 
var client = new es({
    "host": "127.0.0.1",
    "port": 11211
}, function(){
    
    client.set("/test/test/1", {
        "Lorizzle fo shizzle": "dolizzle sit amizzle",
        "consectetuer adipiscing": "elit.",
        "Nullam fo velit": "my shizz pizzle, suscipit quis, gravida vel, arcu.",
        "Pellentesque gangsta tortizzle.": "Sed eros. Fusce izzle dolor dapibus turpis tempizzle pimpin'."
    }, function(errorsuccess){
        
        client.up("/test/test/1", {
            "Maurizzle ass away izzle turpis.": "Mofo izzle tortizzle.",
            "Pellentesque eleifend rhoncizzle boom shackalack.": "In bow wow wow shiznit platea dictumst."
        }, function(){
            
            client.get("/test/test/1", function(errordoc){
                
                console.log(doc);
                
                client.get("/test/test/_search", {
                    "q": "Maurizzle"
                }, function(errorresponse){
                    
                    console.log(response);
                    client.quit();
                })
            })
        })
    })
});
 
client.on('error', function() {
  console.log('client error', arguments);
});
 
client.on('end', function() {
  console.log('client disconnected');
});

API

.get( key, ?GET_PARAMETER, callback ) -> GET Request, get an document, indice, setting or something else over the API.
    
    es.get("/test/test/1", function(errordoc){ console.log(doc); })
    es.get("/test/test/1", { fields: "fieldkey1,fieldkey2" }, function(errordoc){ console.log(doc); })
    es.get("/_stats", function(errorstats){ console.log(stats); })
    
.mget( docs, callback ) -> GET Request, collect multiple documents over one request
    es.mget({
        "docs": [
            { "_index": "test", "_type": "test", "_id": 1 },
            { "_index": "test", "_type": "test", "_id": 2 },
        ]
    }, function(errordocs){})
 
.set( key, value, ?GET_PARAMETER, callback ) -> POST Request, can be an document, the indice settings or whatever over the API.
    es.set("/test/test/1", { "fieldkey1": "fieldvalue1", "fieldkey2": "fieldvalue2" }, function(errorsuccess){})
 
.up( key, value, ?GET_PARAMETER, callback ) -> Update an document
    es.set("/test/test/1", { "fieldkey3": "fieldvalue3" }, function(errorsuccess){})
 
.del( key, ?GET_PARAMETER, callback ) -> send DELETE Request, can delete and document indice or something else over the API
    es.del("/test/test/1", function(errorsuccess){})
    
.quit(callback) -> quit connection
    es.quit(function(){})

GitHub information

The source code is available at https://github.com/grischaandreew/node-elasticsearch-memcache You can either clone the repository or download a tarball of the latest release.

Examples

For examples look in the example.js file. You can execute the examples using node.

$ node example.js