WPSolr logo
Close this search box.

Table of contents :

Improving Product Search in WooCommerce with Elasticsearch

WordPress search plugin with Elasticsearch

Table of contents :


When it comes to running an online store using WooCommerce, providing a seamless and efficient product search experience for your customers is crucial. By default, WooCommerce utilizes a basic search functionality that may not always yield the most accurate results. However, by integrating Elasticsearch, a powerful search and analytics engine, into your WooCommerce setup, you can significantly enhance your product search capabilities. In this post, we will explore how to improve product search in WooCommerce with Elasticsearch.

What is Elasticsearch?

Elasticsearch is an open-source, distributed search and analytics engine built on top of the Apache Lucene library. It is designed to handle large volumes of data and perform fast, real-time searches. Elasticsearch excels at full-text search, allowing you to search for documents based on their content, rather than just metadata.

Why Use Elasticsearch with WooCommerce?

By integrating Elasticsearch with WooCommerce, you can benefit from its advanced search features, such as relevance scoring, autocomplete suggestions, typo tolerance, and facet filtering. These features help to deliver more accurate and relevant search results to your customers, leading to improved user experience and increased conversions.

Setting Up Elasticsearch for WooCommerce

To get started, you will need to have Elasticsearch installed and running on your server. You can download Elasticsearch from the official website and follow the installation instructions provided.

Once Elasticsearch is up and running, you will need to install and configure the Elasticsearch plugin for WooCommerce. There are several Elasticsearch plugins available for WooCommerce, but one popular choice is the “Elasticsearch for WooCommerce” plugin. You can find this plugin in the WordPress plugin repository and install it like any other WordPress plugin.

After installing the plugin, you will need to configure the connection settings to connect your WooCommerce store with Elasticsearch. Typically, this involves specifying the Elasticsearch server address and port. Once the connection is established, you can start utilizing Elasticsearch for product search.

Improving Product Search with Elasticsearch in WooCommerce

To perform product search using Elasticsearch, you can make use of the Elasticsearch PHP client library. Here’s an example of how you can use the library to search for products in WooCommerce:

require 'vendor/autoload.php'; 
use Elasticsearch\ClientBuilder; 
// Specify the Elasticsearch server address 
$hosts = [ 'localhost:9200' ]; 
// Create an Elasticsearch client instance 
$client = ClientBuilder::create()->setHosts($hosts)->build();
// Define the search 
$params = [
 'index' => 'woocommerce_products',
 'body' => [
  'query' => [
   'match' => [
   'name' => 'iphone'

// Perform the search
$response = $client->search($params);

// Process and display the search results
foreach ($response['hits']['hits'] as $hit) {
 echo $hit['_source']['name'];

In this example, we first specify the Elasticsearch server address and create an instance of the Elasticsearch client. Then, we define the search query, which in this case searches for products with the name “iphone.” Finally, we execute the search and process the results.

This is just a basic example, and you can customize the search query based on your specific requirements. Elasticsearch offers a wide range of search features, including filtering by categories, attributes, and custom fields. You can leverage these features to build powerful and precise product search functionality in your WooCommerce store.

How WPSOLR Can Help

While Elasticsearch provides the underlying search engine for WooCommerce, integrating it and configuring it correctly can be a complex task. This is where a plugin like WPSOLR can help simplify the process.

WPSOLR is a powerful search plugin for WordPress and WooCommerce that acts as a bridge between your WooCommerce store and Elasticsearch. It provides a user-friendly interface to configure and manage Elasticsearch settings without requiring extensive technical knowledge.

With WPSOLR, you can easily map your WooCommerce product data to Elasticsearch fields, define search filters, and customize the search behavior. The plugin also offers features like autocomplete suggestions, faceted search, and search result highlighting to further enhance the search experience for your customers.


Improving product search in WooCommerce is crucial for enhancing the user experience and driving more conversions. By integrating Elasticsearch and leveraging its advanced search capabilities, you can provide more accurate and relevant search results to your customers. The Elasticsearch PHP client library allows you to perform customized searches, and plugins like WPSOLR simplify the integration and configuration process. With these tools at your disposal, you can take your WooCommerce product search to the next level and deliver a seamless shopping experience.

Trending posts