Index WordPress posts and post meta data using Elasticseach.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Elasticsearch Indexer

Elasticsearch Indexer

StyleCI License

A plugin that integrates WordPress with Elasticsearch.

Aside from super fast full text search, this plugin will speed up post listings of any post type, including WooCommerce products.

The plugin works by indexing all posts and post meta data and redirecting the requests by WordPress from MySQL to Elasticsearch.

The plugin requires that you have Elasticsearch installed on your server.

WordPress Repository:


Installing the plugin from GitHub

  1. Download the zip file from GitHub.
  2. Unzip and put the new directory inside you plugins directory (/wp-content/plugins/) in wordpress.
  3. run composer install inside the new directory.
  4. Install Elasticsearch if you haven't already.
  5. Make sure that Elasticsearch is installed and running on your server
    (You can test this by running curl -XGET -i '' in the command line)
  6. Activate the plugin in the wordpress admin panel.
  7. Click on the new menu item and press the button “Reindex all posts”.

Installing Elasticsearch

Follow the instructions in the Elasticsearch Docs.

Make sure that Elasticsearch is installed and running on your server by running curl -XGET -i '' in the command line.


The plugin requires no modification to work. Once you have put in your settings and run an initial reindex of the site the plugin will keep elasticsearch in sync with MySQL and redirect queries from MySQL to Elasticsearch. However the plugin comes with a few extra features and filters that you can use.

Not supported

  • Sticky posts (ignores sticky posts. All wordpress queries will act as if ignore_sticky_posts is set to true)
  • Password protected posts (fallback to MySQL if used)
  • Random sorting (ignored)


Elasticsearch Indexer is licensed under General Public License (GPLv2).