Jetpack’s Search module is a powerful replacement for the search capability built into WordPress. It provides higher quality results and an improved search experience; runs in the WordPress.com cloud; and has a public api for developers to run their own Elasticsearch queries.
This feature is available to users with a Jetpack Professional Plan.
You can use this module out of the box without worrying about configuration options or you have the option to fine-tune the sorting and filtering settings for your site search.
Detailed Search Feature List
There are a lot of features in Jetpack search that make a great search experience:
- Supports millions of queries across millions of documents.
- Real-time indexing of changes to your content.
- Filter searches by tags, categories, custom taxonomies, authors, dates, and post types.
- Supports all languages with custom language analysis for 29 languages.
- Sort by relevance or date.
- Boosts recent content by default.
- Phrase search.
- Customizable search algorithm and an Elasticsearch Query API.
- Transparently intercepts searches via WP_Query, for “search” style queries that are also the “main” query.
To use Jetpack Search, you must be a Jetpack Professional subscriber. Once you’ve connected your site, go to Settings → Traffic in your WordPress.com dashboard.
What is Elasticsearch?
Elasticsearch is an open source project for building distributed, scalable search engines. We power a number of our features using Elasticsearch instead of the MySQL Database that is used for most of WordPress.
Elasticsearch is a trademark of Elasticsearch BV, registered in the U.S. and in other countries.
See our search feature page for an overview of the service.
How long will it take to index my content?
New and updated content is usually indexed within seconds. When you first install Jetpack, it may take a few minutes or hours before your content is fully indexed, but after that, the index is always up-to-date. If you are an existing Jetpack user, your content will be searchable as soon as you enable the module.
Does Search have content limits or tiers?
No limits, no tiers, no hidden costs. All your content in real time.
How do I enable this in my theme?
Search works with WordPress’ own search widget, the search box in your theme (if there is one), or by using the Jetpack Search widget which can display a search box, sorting controls and custom filters that let your site visitors select category, date, post type and more.
Does Search have any filter or action hooks?
Of course! You can find those on our developer page.
Can I use this for custom Elasticsearch queries?
Yes! You can send any valid Elasticsearch query (ES 2.4+) to
Jetpack_Search::instance()->search( $query ). Security restrictions apply. See the API developer docs for more information.
Can I search post meta and custom taxonomies?
Post meta is not currently included in the index, we plan to start whitelisting post meta from popular plugins in the near future. Custom taxonomies are currently in the index, but the indexing structure will likely change so we do not recommend them for custom queries.
I added extra filters to the search widget, but they’re not showing on the page – how do I get them to appear?
When you add an extra filter to the widget – for example, to refine a search by taxonomy – the links for taxonomy terms will only appear in the search widget if there is at least one taxonomy term for the given results. Results with zero matching taxonomy terms will not show the filter controls. This is to prevent user confusion by having redundant controls taking up space on the screen.
The search widget shown on the right is configured with Date, Post Type and Tag fields, but only the Dates and Post types are showing because no tags matched the results.
Where can I learn more about the API?
- Configure the search UI using the Customizer or PHP code
- Search API docs for back-end integration
- Using Jetpack Search with WP.com VIP
- Background on real-time indexing
If you have questions or concerns, we would love to hear from you! Feel free to contact us.