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 Search subscription.
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.
An example sidebar showing filtering on a test site.
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(WordPress.com connected users only), 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 Search subscriber. Once you’ve connected your site, go to Settings → Performance in your WordPress dashboard, and enable Search.
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.
Testing Instant search and filtering prototype
As part of Jetpack 7.9, we’re testing the ability to search and filter instantly. We’d love for you to try this out and help us test!
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.
What content is indexed?
We index all WordPress posts, pages, and custom post types as long as the post status is one of ‘publish’, ‘trash’, ‘pending’, ‘draft’, ‘future’, or ‘private’.
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.
You can use the customizer or write custom code to add search features to your theme, including our powerful filtering.
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?
Firstly, filters will only display in the widget on the search results page, after you perform a search.
Secondly, 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?
If you have questions or concerns, we would love to hear from you! Feel free to contact us.
This feature is deactivated by default, and activating/unlocking it requires an upgrade to a Jetpack Search subscription. If you ever need to deactivate the feature, you can do so by toggling the Enable Search setting in the Search section from Jetpack — Settings — Performance in your dashboard.
|Site Owners / Users
We use the WordPress.com-connected blog ID in order to submit a visitor’s search request to the WordPress.com servers.Additionally, for activity tracking (detailed below): IP address, WordPress.com user ID, WordPress.com username, WordPress.com-connected site ID and URL, Jetpack version, user agent, visiting URL, referring URL, timestamp of event, browser language, country code.
We use any of the visitor-chosen search filters and query data in order to process the search request on the WordPress.com servers.
|Site Owners / Users
We track when, and by which user, the feature is activated and deactivated. We also track when, and which, configuration settings are modified (and by which user), as well as when, and by which user, the Jetpack Search widget is updated.
|Data Synced (Read More)
|Site Owners / Users
We sync options that identify whether or not the feature is activated and how its available settings are configured. This includes the Jetpack Search widget.