Skip to content
An Emacs Lisp client for elasticsearch
Emacs Lisp
Branch: master
Clone or download
David Leatherman
David Leatherman formatting
Latest commit 2f048a1 Apr 7, 2012
Type Name Latest commit message Commit time
Failed to load latest commit information.


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 "")
      (es-port 19200))
  (es-query "*:*"
            '((fields . ["size" "id"]))))
(es-cluster-health) ;; default host and port is localhost:9200
You can’t perform that action at this time.