ElasticPress.io https://www.elasticpress.io WordPress search, solved Mon, 27 May 2024 12:48:35 +0000 en-US hourly 1 https://wordpress.org/?v=6.7.1 https://www.elasticpress.io/uploads/2016/11/cropped-ep-logo-color-32x32.png ElasticPress.io https://www.elasticpress.io 32 32 ElasticPress 5.1 Released https://www.elasticpress.io/blog/2024/04/elasticpress-5-1-released/ Mon, 29 Apr 2024 13:50:53 +0000 https://www.elasticpress.io/?p=67715 ElasticPress 5.1 was released today and contains several improvements! Check some of our highlights:

Official support to Elasticsearch 8

Although previous versions of ElasticPress were already compatible with Elasticsearch 8, ElasticPress 5.2 is the first version officially compatible with the most recent version of Elasticsearch.

ElasticPress.io customers will have their subscriptions migrated to new clusters very soon, but if you want to move your endpoint sooner, you can already create a ticket via your Account Page (click on that “Help” button on the bottom right corner.)

Documents: More file types and further integration

ElasticPress now indexes and searches for TXT and CSV file contents. If you have Protected Content enabled, your Media Library search inside WordPress’ Dashboard will also be powered by ElasticPress.

Synonyms Screen Overhaul

The Synonyms page was completely remodeled, giving users the ability to bulk delete synonyms and more. On top of that, we are now introducing a new type of synonym called Hyponyms.

Hyponyms act as hierarchical synonyms: if you search for shoes you want to get all sneakers and high heels, but searching for high heels should not match sneakers. For cases like this, hyponyms are what you need.

And more!

These were just the highlights. Here are some other noteworthy changes:

  • The Sync Page now has an Errors tab, grouping and suggesting fixes for any errors that happened during a sync;
  • It is now possible to fine-tune ElasticPress-related capabilities, giving editors the ability to change synonyms, for example;

The full list is available on the release page on GitHub.


If you find any bugs or have any ideas for enhancements, please let us know in our GitHub repository. If you like the plugin leave us a review, and if you don’t have an Elasticsearch hosting yet, check out our plans!

]]>
Pew Research Center: External files as a source for your search https://www.elasticpress.io/blog/2024/03/pew-research-center-external-files-as-a-source-for-your-search/ Mon, 04 Mar 2024 12:52:23 +0000 https://www.elasticpress.io/?p=65163 For a fact tank the size of the Pew Research Center, data can come from several different places. As some of those sources were external JSON and JavaScript files, they needed a solution to allow their users to search for their content. ElasticPress — the go-to solution to connect WordPress to Elasticsearch, enhancing search and providing better results — was a perfect fit for the project.

+

The ElasticPress.io team developed a new plugin that gets external files, either local or remote, syncs their content in Elasticsearch servers, and changes how the default search works, including in the searchable fields the one that contains the external file content.

Working with 10up was a pleasure. Their commitment to doing things “the WordPress way” from code quality, to performance, to extensibility, to functionality is exactly what we wanted when looking for outside development help. This new functionality for ElasticPress will enable our visitors to find content that is rich, informative, and historically has been hard to index. We’re excited to see the ROI on such content improve.

Seth Rubenstein, Lead Developer – Pew Research Center

The External Content feature is publicly available!

As openness is a pillar for Pew Research Center, they decided to open-source this solution. If you have a similar use case, you can now use the new External Content feature of our ElasticPress Labs plugin. This plugin has our experimental features, and this edge case was a better match for this new functionality.

Inside the feature’s settings, you can add a meta field that contains the path or the URL of the external content. During the sync process, ElasticPress will go through those fields, use the path or the URL to get the file’s content, and send it to Elasticsearch. Then, when a user searches for a term, the file content will be searched.

If you want to enhance your website search experience, providing better results and performance for your users, sign up for a trial or get in touch with us!

]]>
ElasticPress 5.0 Released https://www.elasticpress.io/blog/2023/11/elasticpress-5-0-released/ Wed, 01 Nov 2023 18:17:01 +0000 https://www.elasticpress.io/?p=61995 ElasticPress 5.0 was released today, and contains several improvements! We also have a couple of potentially breaking changes that you’ll want to test out on your staging site if you’re using those features already.

New features and improvements

Check some highlights of ElasticPress 5.0. For a detailed list of all changes, check our release page on GitHub.

Sync page

The new Sync page has the same options from the WP-CLI command like post types, range of IDs, or Indexables. It also displays your sync history: information related to the last 5 syncs performed on your website. We also moved to a REST API approach, replacing the old WordPress AJAX endpoint.

Weighting dashboard

In previous versions, all your metadata that did not start with a _ was automatically synced, often leading to errors related to field limits being reached. Starting from EP 5.0, if you need to index any specific metadata, you can add it via the Weighting Dashboard. No code required!

If for some reason you need to revert it to the old behavior, you can add this snippet to your codebase:

add_filter( 'ep_meta_mode', function () { return 'auto'; } );

Also, the Weighting dashboard (and Synonyms!) are now available on multisite installations.

Features page

The Features page received a major UI update. Now you can change several features at once, and if they require a sync you can save your settings and apply them later by clicking on “Save and sync later”.

Date filter

ElasticPress’ available filters collection received a new addition: the new Date Filter lists your content based on a time range selected by your user.

What you need to know before upgrading to ElasticPress 5.0

Users feature moved to ElasticPress Labs

If you are using the Users feature, make sure you install or upgrade to ElasticPress Labs 2.2.0 before upgrading to ElasticPress 5.0. As said in the latest versions’ changelogs, the feature was removed from the main plugin.

WordPress and PHP compatible versions

ElasticPress now requires PHP 7.4 or newer and WordPress 6.0 or newer. Although we did not change the minimum required version of Elasticsearch, we’ve removed the maximum compatible version of our documentation.

Feature settings now declared in JavaScript Object Notation (JSON)

If you have a custom Feature, you may need to implement the set_settings_schema() method, copying the fields from output_feature_box_settings() as a JSON object. Our new React interface will render the fields for you.

A sync is not required but is recommended

Although not required, we recommend you run a full sync (Delete all data and sync), so you can use the new analyzers we introduced in this version. Search results shouldn’t be affected but this fixes an old problem with synonyms containing spaces.


If you find any bugs or have any ideas for enhancements, please let us know in our GitHub repository. If you like the plugin leave us a review, and if you don’t have an Elasticsearch hosting yet, check out our plans!

]]>
Enabling Comments and Terms in ElasticPress 5.0 https://www.elasticpress.io/blog/2023/03/enabling-comments-and-terms-in-elasticpress-5-0/ Thu, 09 Mar 2023 19:37:51 +0000 https://www.elasticpress.io/?p=54979 Starting from version 5.0, ElasticPress will no longer show the Comments or Terms Features in the Dashboard by default. Site owners will need to add a code snippet in functions.php or in a custom plugin to enable one or both of these features. This change was made partly due to a lack of overall adoption of these Features, in order to reduce the number of items displayed in the ElasticPress Features submenu.

In addition, the Terms Feature often caused confusion, as it is not necessary for querying Terms within WordPress posts or Custom Post Types. Instead, this Feature provides a wrapper for WP_Term_Query and requires custom code to be written for most queries that utilize it. As a result, we have moved the Feature into a more developer-centric model.

Please note that both Features will remain active on your site, if they were active prior to upgrading to 5.0.

In this article, we will explain how to add a code snippet to WordPress to make the Comments or Terms Feature visible in ElasticPress 5.0+.

Step 1: Create a Custom Plugin or Add Code to functions.php

The first step is to create a custom plugin to hold the code snippet that will activate the Comments or Terms Feature in ElasticPress. Navigate to your WordPress plugins directory (wp-content/plugins) and create a new folder with a unique name. Inside the new folder, create a new file and name it something descriptive like “elasticpress-comments.php”. You can also add the snippet to your theme’s functions.php file or a custom plugin where you add various 3rd-party snippets.

For more ways to add custom code to your website, check this support article.

Step 2: Add the Code Snippet

Open the new file you created in Step 1 (or your functions.php file) and add the code snippet that will activate the Comments or Terms Feature in ElasticPress.

PHP
add_filter(
	'ep_feature_is_visible',
	function ( $is_visible, $feature_slug ) {
		return 'comments' === $feature_slug ? true : $is_visible;
	},
	10,
	2
);

The previous example adds the Comments Feature to the ElasticPress Features page. You can swap the word comments for terms in this example to add Terms instead. Make sure to save the file after adding the code snippet.

Step 3: Upload the Plugin

Now that you have created the custom plugin and added the code snippet, it’s time to upload it to your WordPress site. You can do this by adding the plugin to your version control system or by uploading it via the WordPress Plugin upload feature in your site’s Dashboard. Once the plugin is uploaded, activate the plugin to make the Comments and/or Terms Feature(s) visible in ElasticPress. If you edited your functions.php file instead, skip this step.

Using WP-CLI

Alternatively, if you have access to WP-CLI you can enable the features directly, by calling wp elasticpress activate-feature terms.

That’s it! Once you return to the ElasticPress Features submenu in your WordPress site’s Dashboard, you’ll see the Features you activated available for use.

]]>
Introducing Instant Results: WordPress’ Fastest Search Ever https://www.elasticpress.io/blog/2022/03/introducing-instant-results-wordpress-fastest-search-ever/ Mon, 07 Mar 2022 16:07:00 +0000 https://www.elasticpress.io/?p=44720 In the seven years since launching ElasticPress, we’ve connected with thousands of website owners aiming to improve user experience with faster, more accurate search results. While delighted by the significant improvement ElasticPress brings to the WordPress search experience, these websites still face the same fundamental performance limitation we’ve been contemplating for years: WordPress itself.

From its first release, ElasticPress integrated tightly with WordPress. On every page load, ElasticPress looks for search queries and silently intercepts them, delivering high-quality, customizable results from Elasticsearch in mere seconds. Though a noticeable improvement on all but the fastest websites, each search was still only as fast as the WordPress site powering it. For sites where search speed matters most – like high-traffic ecommerce stores, where milliseconds of page slowdowns can mean substantial drops in conversion rates – “fast” may not be fast enough.

As of March 8th, 2022, we’re proud to announce the release of ElasticPress 4.0 with Instant Results — the built for WordPress search experience that bypasses WordPress for optimal performance

Instant Results routes search queries through a dedicated API, separate from WordPress, that’s built for speed: returning results over 10x faster than previous versions of ElasticPress. And, because Elasticsearch isn’t directly exposed to the web, site owners retain total control over their data, deciding what is public and what remains private.

ElasticPress.io with Instant Results is 6 times faster than Standard WordPress search and 4 times faster than standard ElasticPress.io search.

To deliver the fastest possible results, Instant Results adds a new search experience to your site: opening a modal over the page content whenever a search query is entered. Out of the box, the modal inherits your site styles, which means you can get started with no extra customization. Developers, however, can adjust appearance, expose filters, and further tailor the Instant Results experience to fit specific site needs.

With support for screen readers, keyboard navigation, and other technologies readers use to interact with the web, Instant Results is designed with accessibility as a priority.

Starting March 8th, ElasticPress.io customers can update to ElasticPress 4.0 and enable the Instant Results feature on ElasticPress’ Settings page.

Though Instant Results is designed for ElasticPress.io customers, the feature is also available for ElasticPress plugin users with independently hosted Elasticsearch installations. To enable Instant Results on non-ElasticPress.io sites, update the ElasticPress plugin to version 4.0 and install our open source PHP-based proxy.

]]>
ElasticPress 3.6 Released https://www.elasticpress.io/blog/2021/07/elasticpress-3-6-released/ Wed, 07 Jul 2021 16:20:40 +0000 https://www.elasticpress.io/?p=40688 ElasticPress 3.6 was released today, and contains a variety of exciting new features to help your site’s search perform even better! We also have a couple of potentially breaking changes that you’ll want to test out on your staging site if you’re using those features already.

 

New Features

Comments Indexable

ElasticPress 3.6 adds the Comments Indexable, which enables you to perform the same types of searches and queries on WordPress Comments as ElasticPress provides for Posts and Terms.

Comments Search Widget

Looking to provide a search of user-generated content? Our new Comments Search Widget provides a simple drop-in way to provide full Comment search across your site. Need to surface Product Reviews in WooCommerce? Those are stored as Comments on your Products and can be easily searched as well!

a search bar showing a search for the word 'docker' with results listed below related to the search

 

Bug Fixes and Improvements

Autosuggest by post_type

As of 3.6, ElasticPress will now attempt to detect what post_type is searched by any form used for Autosuggest. This means that if you’re on a Product-only search bar, you can expect that only Product posts will be returned. Please note this could entail a breaking change if you’re currently using Autosuggest, as results will be narrowed. However, those results will also now match the results obtained by hitting Enter or clicking the Search button.

Performance fix for large indexes

Previously, attempting to index a large set of data with WP-CLI using ElasticPress’ offset option would cause poor performance at the higher end of the range. Thanks to the new ID range-based approach, you now get the same fast indexing between posts 2,000,000 and 2,500,000 as you do between 1 and 500,000. If you’re interested in using these WP-CLI options, you can read more about the new –upper-limit-object-id and –lower-limit-object-id commands here.

Resolve block editor image bug

ElasticPress 3.6 resolves a bug that prevented the searching of images within the WordPress Block Editor.

Compatible with WordPress 5.8

ElasticPress 3.6 is fully tested for compatibility with WordPress 5.8 so you can upgrade your CMS as recommended for performance and security without breaking your search.

Accessibility improvements for Facets

Please note: as of version 4.7 of ElasticPress, Facets are now known as Filters.

The HTML for the ElasticPress Facet Widget has changed as of 3.6, offering better accessibility for navigation and filtering. Since this change renders the Facet HTML differently, you may need to update your CSS to ensure that the Facets’ appearance does not degrade or change within your site or theme.

New branch naming convention

With ElasticPress 3.6, we began the process of changing the naming convention for our branches to be more inclusive and reflective of modern development practices. Please note that if you are currently using the master branch to maintain ElasticPress via Composer or a similar tool, this branch is now deprecated and you will need to update to use the stable branch instead. As of ElasticPress 3.7, the master branch will be removed.

]]>
ElasticPress.io Included in New WP Engine eCommerce Hosting Plans https://www.elasticpress.io/blog/2021/05/wp-engine-ecommerce-hosting-integration/ Wed, 26 May 2021 17:01:01 +0000 https://www.elasticpress.io/?p=39953 WP Engine recently announced a new eCommerce solution for Small/Medium Businesses (SMBs) looking to easily create a mobile-friendly WooCommerce store or scale up, optimize, and increase revenue for an existing online store.

WP Engine’s eCommerce solution, built on their industry-leading infrastructure, includes a quick setup wizard, eCommerce-ready WordPress themes, drag and drop tools to add products in seconds, and automated plugin updates for enhanced security. 

The feature we’re most excited about, however, is the integration with ElasticPress.io — the only fully-integrated end-to-end SaaS solution for adding the power of Elasticsearch to a WordPress site.

eCommerce Hosting + Premium Search

With 43% of online retail shoppers heading directly to the search bar, successful search experiences driving double the spend of other shoppers, and 68% of shoppers saying they wouldn’t return to a site with a bad search experience, WP Engine knew they needed a premium search experience baked in. They chose ElasticPress.io, already vetted by WP Engine for inclusion in their Solution Center, to deliver a faster, smarter version of WordPress, while leveraging the power of Elasticsearch behind the scenes.

The ElasticPress.io integration, referred to as “Instant Search” or “Instant Store Search” in WP Engine’s eCommerce hosting plans, gives customers access to all of the advanced search features of ElasticPress.io and the ability to manage searchable content in real-time:

  • Offload complex search queries and content-heavy views that commonly strain WordPress’ MySQL backend, so visitors can find what they want quickly and content creators can save time.
  • Tailor search results to showcase your most valuable and relevant products with the Weighting Engine and Custom Results Editor.
  • Manage common misspellings and associate interchangeable search keywords or phrases — like sweatshirt and hoodie — with the Synonym Dashboard.
  • Help shoppers see exactly where search results match their search query with search term highlighting within the content.
  • Make it easy and fast for shoppers to find what they’re looking for and clarify search intent with Autosuggest capabilities.
  • Search custom post types, categories, taxonomies, metadata, and more with a NoSQL data engine that responds to your site’s unique content.

Store owners who enable ElasticPress.io improve user experience, deliver blazing-fast searches, offer more relevant results, and see revenue increases of up to 18%. WP Engine customer Alan Affelt of Stitchtopia shared, “the new search functionality has given our online store a major boost, including a 12% increase in sales and a higher cart value per customer.”

Speed, Stability, And Security

Elasticsearch, out of the box, is optimized for writing a large amount of data and reading it only occasionally — when not tuned properly, the Elastic endpoint can crash. Elasticsearch also has no security measures built-in and the common workaround to proxy data through WordPress slows response times. This means site owners are often stuck between a rock and a hard place: choosing between performance and security.

With years of experience implementing Elasticsearch in high-traffic production environments, we built ElasticPress.io to prioritize stability, speed, and security. 

  • ElasticPress.io is deployed via Amazon Web Services (AWS), which allows your search to scale as needed without delay.
  • Elasticsearch itself is tuned to support a high rate of search queries combined with infrequent but memory-intensive indexing processes. The result is a product that performs well at scale, with no complex configuration needed.
  • The ElasticPress.io endpoints, like the one for Autosuggest, connect directly to our servers, eliminating any potential performance drags.
  • Enhanced security measures ensure your private content remains private and your store is protected from malicious behavior, like attempting to use the Autosuggest endpoint to steal data.

ElasticPress.io Partner Initiative

As a longtime WP Engine agency partner, 10up is excited to welcome the WordPress hosting company as an ElasticPress.io Site Search Partner. 

For our partners, everything needed for secure user management is handled behind the scenes, from index privacy to advanced features like unauthenticated read-only access for direct autosuggest search. 

  • The ElasticPress.io Provisioning API enables hosting providers and resellers to create and manage multiple endpoints with minimum effort. It supports real-time user management, as well as instant, automated provisioning of new cluster resources.
  • Access to our support wiki empowers in-house support teams to provide a knowledgeable, helpful, uniform experience for customers.
  • The ElasticPress.io support team — familiar with the nuances of both WordPress and Elasticsearch — serves as the point of escalation, providing 24/7 ticket-based support for all ElasticPress.io customers, and video-call support for partners, resellers, and premium customers on Enterprise plans.

Get Started Today

Getting started with WP Engine and ElasticPress.io is easy. 

To get everything you need to build, launch, or migrate an existing WooCommerce store on a fast, secure, scalable eCommerce platform, pick an eCommerce hosting plan that includes Instant Store Search. By the time you’re done signing up, ElasticPress will be ready to go.

Then, check out a webinar I co-hosted with WP Engine — How to Optimize Search for Your WordPress Ecommerce Store — to learn about fixing searches that don’t convert, using analytics data to customize search results, tailoring the search experience for shoppers, and how enhanced search can improve your bottom line.

If you’d like details about our reseller program, affiliate program, or Site Search Partner program, or want to find out how we can add enhanced site search to your eCommerce site, reach out and book a call.

]]>
How To Optimize Search For Your WordPress E-commerce Store https://www.elasticpress.io/blog/2021/03/optimize-search-for-wordpress-ecommerce-stores/ Mon, 29 Mar 2021 15:45:00 +0000 https://www.elasticpress.io/?p=37591 In 2019, revenue from e-commerce stores amounted to $360.1 billion within the United States and $3.53 trillion worldwide. Revenues are projected to grow in 2022, to $502.5 billion in the U.S. and $6.54 trillion worldwide

Building and scaling an e-commerce store isn’t exactly easy. When building an ecommerce store on WordPress, overcoming critical challenges like slow page load speeds and frustrating search results requires more than a standalone plugin.

On Wednesday, March 31, I’ll be joining the team at WP Engine to deliver a free webinar titled How to Optimize Search for Your WordPress E-commerce Store

During the webinar, we’ll show how analytics can be used to create dynamic search results that boost sales and how modern search tooling can set up a store to scale smoothly as the business grows. We’ll also look at real e-commerce stores that are “doing it right” — like an apparel company that saw an 18% increase using the techniques this webinar will cover.

Key takeaways include:

  • How to properly set up analytics.
  • How to use analytics data to create custom search results. 
  • Why page speed matters and how to improve your site performance. 
  • How to provide the ideal search experience for shoppers (so you can cash in on those searches and beat out competitors). 

To learn how to create better user experiences, higher conversions, and more sales on an e-commerce site, and of course, to learn more about ElasticPress, join me for this free webinar.

]]>
ElasticPress 3.5 Introduces a Synonym Dashboard and Search Term Highlighting https://www.elasticpress.io/blog/2020/11/elasticpress-3-5-introduces-a-synonym-dashboard-and-search-term-highlighting/ Fri, 06 Nov 2020 17:12:09 +0000 https://www.elasticpress.io/?p=34914 Following several point releases that introduced a sticky post filter, integration with WP_Term_Query to make terms searchable, a related posts Gutenberg block, and an integrated WooCommerce default filter by price widget, the release of ElasticPress 3.5 delivers two exciting new features that uplevel onsite search capabilities and improve user experience: a synonym dashboard and search term result highlighting.

Synonym Support

A brand new synonym dashboard makes it easy to associate different but related words — like sweatshirt and hoodie — to improve search result quality. The Manage Synonyms Dashboard, empowers site managers to quickly create, edit, and delete two types of synonym groupings:

  • Sets: A group of equivalent terms, such as types of streets in an address or cities and city abbreviations — i.e. New York City and NYC.
  • Alternatives: A group of terms where the listed terms are equivalent to the primary term but not to each other. For example, search results for the primary term shoes should also include results for sandals, sneakers, high heels, wedges, etc. but search results for sandals should not include the results for sneakers.

Synonym support enables the fine-tuning of search results, including the management of misspellings, which can boost engagement for content creators and help WooCommerce sites provide more accurate and relevant search results to shoppers.

Search Term Highlighting

With ElasticPress 3.5, search terms will automatically be highlighted in search results listings. Search term highlighting helps visitors see exactly where, in a document, search results match the search query by underlining keywords within content. A new CSS class applied to highlighted keywords enables customization of the visual appearance to match a site’s design.

Additional Enhancements

With this release, ElasticPress now supports Elasticsearch through version 7.9. Other improvements include improved WP Acceptance tests for new code releases, a new filter for prepared user meta data, and a handful of under the hood bug fixes and code improvements.

For the complete list of enhancements and fixes included in this release, view the changelog. To see what we’re up to and share feedback, visit the ElasticPress GitHub repository.

Let Us Do The Heavy-Lifting

Elasticsearch regularly releases updates and enhancements. To avoid potential conflicts and errors, test new releases in a development or staging environment — or better yet, try ElasticPress.io and let us do the heavy-lifting for you! Our cost-effective, end-to-end solution offers a variety of tiers perfect for WooCommerce stores, agencies managing multiple customers, and enterprise-level clients. With ElasticPress.io, you can take full advantage of ElasticPress without maintaining Elasticsearch — or breaking WordPress. 

Contact us for a personal demo or start your free trial today.
We’re always looking to add new talent to our team. If ElasticPress and our open-source work pique your interest, swing by our Careers page and get in touch.

]]>
ElasticPress https://www.elasticpress.io/blog/2020/07/elasticpress-react/ Tue, 28 Jul 2020 18:13:35 +0000 https://www.elasticpress.io/?p=30913 We are excited to announce the release of ElasticPress React!

ElasticPress React is a set of React components to be used in JavaScript applications that integrate with ElasticPress. If you are running a headless WordPress website or integrating some way with a WordPress website, these components are an awesome way to supercharge your search and performance

The initial release includes two components: autosuggest and related content. Installing and using the components is super easy with npm:

npm install @10up/elasticpress-react --save

The Autosuggest component can be easily used in JavaScript ESNext fashion and only requires an endpoint property to work. The endpoint property should point directly to a search endpoint.

import { AutosuggestField } from '@10up/elasticpress-react';

const MyComponent = () => {
  <>
    <p>Here is my fancy new component.</p>
    <p>Here's a search input with autosuggest:</p>
   <AutosuggestField endpoint="https://myelasticsearchinstance.dev/myelasticsearchinstance-post-1/_doc/_search" />
  </>
};

The resulting component will be a search field with an autocomplete dropdown suggesting results while the user types:

The Related Content component is also easily imported via ESNext syntax and has one required property, wpApiRoot, which should point to the root of the WordPress JSON REST API.

import { RelatedContent } from '@10up/elasticpress-react';

const MyComponent = () => {
  <>
    <p>Here is my fancy new component.</p>
    <p>Here is some related content to post 5:</p>
    <RelatedContent wpApiRoot="https://mysite.com/wp-json" postId="5" />
  </>
};

The Related Content component outputs a simple list of unformatted related posts.

ElasticPress React is open source on GitHub. We welcome contributions and requests for new components.

]]>