4. WordPress Search is Rudimentary
• Only searches post title, content, and excerpt.
• Relies on MySQL and thus is slow.
• Relevancy calculations are poor and overly
• Not able to handle any advanced ﬁltering.
• Open-source search server written in Java
based on a technology called Lucene (open-
source search software by Apache).
• A standalone database server that provides a
RESTful interface to accept and store data in a
way that is optimized for search and multi-
• Extremely scalable, performant, and reliable
• Relevant results
• Performant aggregation queries
• Fuzzy matching
• Geographic searches and queries
• Filterable searches and queries
• Data weighting
• Much more
10. Get an Elasticsearch Server
• Very ﬂexible and customizable. There is not
really a “one size ﬁts all” setup. Generally, you
have two options:
• Option 1: Pay someone else to manage/host
your Elasticsearch cluster (SaaS)
• Option 2: Host your own cluster
14. ElasticPress Features
• Instantly ﬁnd the content you’re looking for. The
ﬁrst time. Advanced relevancy algorithm which
includes date weighting, term/meta searching,
fuzzy matching, and more.
• Search and query across multiple blogs in a
• Extremely performant related content widget.
15. ElasticPress Features
• Dramatically improve performance of admin queries to
assist editors in ﬁnding content.
• Indexes text inside of popular ﬁle types (pdf, ppt, doc,
etc), and adds those ﬁles types to search results.
• Autosuggest for search - suggest relevant content as
text is entered into the search ﬁeld.
• WooCommerce integration that improves faceting and
product look up speed as well as order search in the
23. Advanced Query API
• Search taxonomy terms
• Filter by taxonomy terms (unlimited dimensions)
• Search post meta
• Filter by post meta (unlimited dimensions)
• Search authors
• Filter by authors
• Search across blogs in multisite
• Complex date ﬁltering
30. WP_Query Integration
• We want to be able to run all (slower) WP_Query
instances through Elasticsearch.
• This means we have to support every query
parameter which isn’t the case yet. Github
contains a full list of parameters WP_Query
supports with ElasticPress and usage for each
31. ElasticPress in Your Language
• ElasticPress is designed to be internationalized.
• Out of the box, it will work ﬁne with most
32. Analysis and Analyzers
• When a document is indexed in Elasticsearch,
text is analyzed, broken into terms (tokenized),
and normalized with token ﬁlters.
• In normalization, strings might be lowercased
and plurals stripped.
33. Custom Analyzers
• ElasticPress by default uses a pretty standard set of
analyzers intended for the English language.
• We can easily customize our analyzers for use with
other languages by ﬁltering ep_conﬁg_mapping
(see EP source code).
• You can read about language speciﬁc analyzers here: