este

The Simplest ElasticSearch Node.js Client'

este

The Simplest ElasticSearch Node.js Client

  • [ ] Publish module to NPM

Basic CRUD

  • [x] Connect to ES Cluster (confirm we can access ES)
  • [x] Create/Save a record (basic POST request)
  • [x] Read a record
  • [ ] Update a record
  • [ ] Delete (hard)
  • [ ] Upsert (convenience method)
  • [ ] delete (soft = archive)
  • [ ] search :-)

Philosophy / Background / Detail

Zero external dependencies (3rd party modules).

There are many great modules in the node ecosystem. When I saw how many dependencies the "Official" ElasticSearch Node.js Module https://github.com/elasticsearch/elasticsearch-js had and especially the number of DevDependencies, it made it hard to contribute to the project...

My aim is to build something that only uses core modules, so I never have to think about upgrading - it also makes it a lot easier for others to learn how the module works, which invites contribution from the community.

If you are looking for a module you can trust, these are the "badges" you are looking for:

All contributions are welcome.
If anything is unclear please create an issue: https://github.com/nelsonic/este/issues

The choice of module name was the answer to the question:

Q: Which ElasticSearch Node Module should I use...?
A: https://translate.google.com/#auto/en/este

Promises (Rant?)

I love the theory behind Promises:
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise
The justification for using them is quite convincing:
https://github.com/petkaantonov/bluebird#what-are-promises-and-why-should-i-use-them

But I've not yet found a situation where I needed to use them.
When I see junior developers using Q, when,
promise, Bluebird, etc. I can't help but think:
what are you doing that was too complicated for callbacks?

So when a module forces me to use them "its a no from me."