Fantastic ElasticSearch


This plugin is NOT a simple drop-in, it is expected you have some understanding of what an ElasticSearch server is and how it works. The goals/features of this plugin are:

  • Replace default wordpress search functionality with that of an ElasticSearch server.
  • Ability to specify what data points should be indexed and what the relevancy of those points are.
  • Fall back to default wordpress search if ElasticSearch server is not responsive.
  • Update ElasticSearch server when posts are removed/added/unpublished.
  • Provide a faceting API for building your own custom searches

Please submit bugs or contributions to the github location and not on wordpress’ system:

API/filter/faceting documentation can be found on the wiki:


  • Configure your ElasticServer settings
  • Determine what data you want to index
  • Alter the result scoring behavior
  • Wipe and re-index data is available if needed


Works great


Works very well with WordPress. Has lot more options than elasticpress.

Read all 8 reviews



  • support for secondary index to prevent wiping production data live


  • allow custom facets to be filtered when searching
  • allow child taxonomies to be faceted when on taxonomy page
  • allow or faceting to filter counts on unrelated facets for a more intuitive interface


  • bug fix


  • Support for using facet API when providing custom data
  • Control whether parent categories are included when indexed
  • Additional filters


  • Exact matches in title, etc will rank higher now in results


  • post_type should not be analyzed


  • Fixed bugs in admin


  • Tested against WordPress 4.5.1
  • Upgrade Elastica to latest api, this plugin now requires ElasticSearch 2.x


  • Updated to latest composer


  • Better OR behavior when faceting is involved
  • Expanded widget options to allow for AJAX based faceting. See github wiki for help on using this.
  • Fixed bug where hooks weren’t working on category pages when permalinks are on
  • Removed dependency on purl due to memory leak
  • Added filters so devs can hook into NHP options (thanks to nielo)
  • Expanded ES integration to taxonomy, tag, and custom post archives
  • More strict fixes (thanks to markoheijnen and michaelsauter)
  • Support for indexing meta fields (thanks to schorsch)
  • Ability to facet on post_type
  • Improved searching results (assumes English language, need to expand this in future)


  • Tested against WordPress 4.0
  • Tested against ElasticSearch 1.3 (Make sure you test before upgrading, in theory, old versions should work just fine)
  • Fix broken category integration


  • Added some error messages if user has bad config or changed taxonomy
  • Category pages now sort by date whereas search is by relevance
  • Support for exact phrases in search, ie: “search these words exactly”
  • Support for boolean and fuzzy search syntax “term1 AND term2”, “howdoyaspellthis~ words i can spell”
  • Support multiple category syntax on wordpress (?cat=2,3) (thanks markoheijnen)
  • Remove HTML from post_content so tags and metadata don’t influence search results (thanks michaelsauter)
  • Created simple widgets for showing faceting options on search/category
  • Fixed bug where facets weren’t filtering based on currently viewed category
  • Searching now will search taxonomy names instead of slugs (faceting still uses slugs)


  • Fixed bug where post with an id = 1 would show when no results were returned from ElasticSearch (thanks michaelsauter)


  • Preventing more notices (thanks michaelsauter)


  • WARNING: This is a major release, any custom work (API, faceting) may not work. If you have not customized, you should have a flawless upgrade. Please test in a development environment first and report any problems.
  • Large cleanup effort
  • Unit tests to adhere to STRICT 5.3, 5.4, 5.5 compatability
  • Integeration tests to ensure intended behavior with ElasticSearch 0.20.6 and 0.90.2
  • Continuous integration setup with travis-ci
  • Developer documentation for faceting and extending


  • Allow plugin to work if downloaded from github or wordpress (images weren’t showing up in admin)


  • Bug fixes as result of merge


  • Better coding practices (PHP strict support, etc) by both eedeebee and deltamualpha
  • Fixes for certain types of wordpress/server configurations


  • Fix if ranges aren’t defined but marked as numeric


  • Faceting API to make URL management and customer interfaces easier
  • New field mapping page to allow for custom field settings (currently only for setting up ranges)


  • Bug fix from merge


  • Merged pull requests that added more hooks/filters (thanks to turcottedanny)


  • Fixed search query not showing in title (thanks to eleshar for finding)


  • Removed NHP warning (thanks to EkAndreas)
  • Fixed issue with plugin indexing post types that weren’t selected


  • Fixed bug that caused search to show invalid results due to wordpress filtering on top of elastic search resutls.


  • Fixed bug that would only search content with a specific type (php scope creep).


  • Ability to specify which categories should be enabled


  • Fixed class load problem due to case sensitivity
  • Removed duplicate enable setting


  • Uses AJAX calls to index all documents to get around server execution timeout
  • Support for using ElasticSearch on category page
  • Faceting documentation
  • Show more post types in admin
  • Only index published posts, need to test other status behavior (like future)
  • Support for boolean faceting (and/or)


  • Possible fix for reported class not found problem
  • Ignore connection failure during validation


  • Fixed bug, forgot to convert Api to use defaults


  • Initial release

Contributors & Developers

This is open source software. The following people have contributed to this plugin.


Browse the code