Table of contents :

The basics of setting up WooCommerce Elasticsearch


Table of contents :


WooCommerce is one of the most widely used e-commerce platforms. It is a free WordPress plugin that allows you to sell anything, beautifully, and with ease. Elasticsearch is a search engine that can be used with WooCommerce to enhance the search functionality of your store. It not only improves the speed and accuracy of search results but also provides various filtering options to help customers find what they’re looking for. In this post, we’ll explore the basics of setting up WooCommerce Elasticsearch and how to use it with a PHP client.

Setting up WooCommerce Elasticsearch

Before setting up WooCommerce Elasticsearch, you need to install Elasticsearch on your server. Here are the steps you need to follow:

1. Download and install Elasticsearch on your server or a virtual private server (VPS).

2. Install the Elasticsearch plugin for WooCommerce.

3. Set up an Elasticsearch index for your WooCommerce store that specifies which data should be indexed, the mapping of fields, etc.

4. Configure your Elasticsearch index to allow for the search of specific fields, such as product name, description, category, tags, etc.

With Elasticsearch set up, you can use a PHP client to integrate it with WooCommerce. Here’s some code to get you started:

use Elasticsearch\ClientBuilder;

// Set up a client instance
$client = ClientBuilder::create()->build();

// Search for products in Elasticsearch
$params = [
 'index' => 'woo',
 'type' => 'product',
 'body' => [
  'query' => [
   'multi_match' => [
    'query' => 'red shoes',
    'fields' => [ 'name', 'description' ],
$response = $client->search($params);

// Handle the search results
$products = [];
foreach ($response['hits']['hits'] as $hit) {
 // Get the WooCommerce product object
 $product = wc_get_product($hit['_source']['id']);
 $products[] = $product;

This code sets up a client instance for Elasticsearch and performs a search for products matching the query ‘red shoes’. The search fields specified are ‘name’ and ‘description’. Once the search results are obtained, this code retrieves the WooCommerce product object for each matching product and stores it in an array.

Using WPSOLR to Simplify Elasticsearch Configuration

While setting up WooCommerce Elasticsearch can seem daunting, the good news is that you can use WPSOLR to simplify the configuration process. WPSOLR is a plugin that provides a user-friendly interface for managing Elasticsearch indexes. Using WPSOLR, you can easily set up and configure Elasticsearch for WooCommerce and define which fields to index, filter, and search.

Here are some of the benefits of using WPSOLR:

– Simplified Elasticsearch configuration process
– User-friendly interface for managing Elasticsearch indexes
– Advanced search filtering options, such as faceted search and autocomplete
– Enhanced search performance and results accuracy
– Ability to customize search results page

WPSOLR makes it easy to unlock the full potential of Elasticsearch for WooCommerce. With its powerful search capabilities and filtering options, you can provide your customers with a better shopping experience and boost your sales.


WooCommerce Elasticsearch is a powerful tool for enhancing the search functionality of your store. When used in conjunction with a PHP client, it enables you to perform accurate and fast searches for products. While setting up Elasticsearch on your own can be challenging, you can simplify the process with WPSOLR. With WPSOLR, you can easily manage Elasticsearch indexes, set up search filtering options, and enhance search performance. So don’t wait any longer to unlock the full potential of Elasticsearch and start improving your customers’ shopping experience today!

Related posts ... not powered by WPSOLR 😊