es.el might, or might not, become a full fledged elasticsearch client for Emacs. Presently it is alpha in quality and should not be used for production. Much of the elasticsearch API remains un-implemented and what is implemented is (deliberately) restricted to read-only operations for now. Let's be safe out there.
Aside from elasticsearch running someplace, there isn't much setup. Put es.el into your load-path someplace and (require 'es).
There are some variables that you can set (either setq or in a let form):
- es-pretty-print-response - add pretty=true to requests. Defaults to t
- es-curl-program - full path to the curl program.
Defaults to /usr/bin/curl
- es-curl-options - options to pass to curl. Useful if you need to pass in HTTP user and pass. Defaults to --silent
- es-host and es-port - Defaults to localhost and 9200.
(let ((es-host "my.es.server") (es-port 19200)) (es-query "*:*" '((fields . ["size" "id"]))))
(es-cluster-health) ;; default host and port is localhost:9200