Index WordPress posts and post meta data using Elasticseach.
PHP CSS JavaScript
Latest commit 2592730 Aug 14, 2015 1 @mikaelmattsson Update README.md

README.md

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: https://wordpress.org/plugins/elasticsearch-indexer/

Demo

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 'http://127.0.0.1:9200' 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 'http://127.0.0.1:9200' in the command line.

Usage

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)

License

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