ElasticProbe Sync and How To Use It

DB sync

ElasticProbe Sync ensures that your website content remains synchronized with the Elasticsearch server. During a sync, all posts, public custom post types, tags, and public metadata are indexed and sent to Elasticsearch.

Sync Options

The Sync page in the WordPress Dashboard offers a streamlined interface. There are two sync modes:

  • Regular Sync – Sends content to Elasticsearch without removing existing data.
  • Delete all data and start fresh sync (Full Sync) – Clears all existing Elasticsearch data before re-indexing your content.

Advanced options are also available, allowing you to select specific data types for synchronization.

Regular Sync

Clicking Sync without enabling the Delete all data and start fresh sync option performs a regular one.

  • Website content is indexed in Elasticsearch without deletion.
  • Searches continue to run on ElasticProbe while the process is ongoing.
  • This option is unavailable for the initial sync; a full sync must be completed first.

Full Sync

When the Delete all data and start fresh sync option is selected, ElasticProbe removes all data from Elasticsearch before re-indexing.

  • While this process runs, ElasticProbe is temporarily disabled for searches.
  • WordPress falls back to standard MySQL search until the sync completes.

When is a Full Sync Required?

A full sync is typically required when Elasticsearch mappings change. Similar to MySQL tables, mappings define how content is stored — including titles, content, authors, meta fields, and taxonomy terms.

For example some features, such as Autosuggest, require new fields in the mapping. Activating these features triggers the need for a full sync.

Avoiding MySQL Fallback During Full Sync

Currently, the Dashboard does not provide a way to perform a full sync without falling back to MySQL. To minimize downtime:

  1. Start a full sync.
  2. Stop it once the log shows Mapping Sent.
  3. Immediately start a regular sync.

Note: This workaround may cause incomplete search results until the process finishes.

ElasticProbe Sync via WP-CLI

WP-CLI (WordPress Command Line Interface) allows you to manage WordPress through the terminal. ElasticProbe provides a powerful WP-CLI command for syncing:

				
					wp elasticprobe sync
				
			

This command includes multiple options and flags, detailed in the plugin’s documentation.

Running a Full Sync with WP-CLI

To initiate a full sync, add the --setup flag:

				
					wp elasticprobe sync --setup
				
			

To bypass confirmation, append the --yes flag:

				
					wp elasticprobe sync --setup --yes
				
			

Full Sync Without MySQL Fallback (WP-CLI)

Unlike the Dashboard, WP-CLI allows you to run a full sync without switching back to MySQL. The process is split into two commands:

				
					wp elasticprobe put-mapping
wp elasticprobe sync
				
			
  • put-mapping removes existing content and applies the new mapping.

  • sync re-indexes all data without using the --setup flag, keeping ElasticProbe active during the process.

By using ElasticProbe Sync effectively—either through the Dashboard or WP-CLI—you can ensure your website content is accurately indexed and optimized for fast, reliable search performance.