Skip to main content

Adding Enterprise Search to WordPress with Viglet Turing

· 5 min read
Alexandre Oliveira
Creator & Lead Developer, Viglet Turing

WordPress ships with a built-in search that runs a LIKE query against the posts table. It works for a handful of posts, but on a real content site it has no relevance ranking, no facets, no typo tolerance, no autocomplete, and it slows down as your database grows. Most teams reach for a SaaS layer (Algolia, ElasticPress + hosted Elasticsearch) and start paying per record and per query.

This guide shows the open-source alternative: indexing WordPress into Viglet Turing, an Apache-2.0 enterprise search platform you self-host, with faceted search, semantic navigation, and generative AI (RAG), and your content staying on your own infrastructure.

The connector is a WordPress plugin, not a Java service​

The Adobe AEM connector is a Java plugin loaded into the Viglet Dumont process. The WordPress connector works differently: it is a PHP plugin you install directly inside WordPress. It talks to Turing over HTTP, so there is no separate connector JAR to run.

Indexing is event-driven, with no cron or scheduled re-crawl:

WordPress eventWhat happens
Post/page publishedExtracted and sent to Turing
Published content updatedIndex updated automatically
Content trashed / deletedRemoved from the index
Published → draft/privateRemoved from the index

For the first load, the admin panel bulk-indexes all posts or pages in batches of 250.

Step 1: Run Turing​

The fastest path is Docker:

docker pull ghcr.io/openviglet/turing-ce:latest
docker run -p 2700:2700 ghcr.io/openviglet/turing-ce:latest

Open http://localhost:2700/console, set the admin password on first run, and create a Semantic Navigation (SN) Site. This is the index your WordPress content will land in.

Step 2: Install the WordPress plugin​

Copy the plugin folder into your WordPress installation and activate it:

wp-content/plugins/viglet-turing-for-wordpress/

Then activate it in WordPress Admin → Plugins.

Step 3: Connect to Turing​

In Settings → Viglet Dumont, point the plugin at your Turing server:

FieldExampleNotes
HostlocalhostTuring hostname
Port2700Turing port
Path/dumontBase path for the indexing endpoint
Site Namewp-searchThe SN Site you created in step 1

Click Ping to confirm the connection, then Index all Posts and Index all Pages to populate the index.

What gets indexed​

The plugin extracts a rich document per post, not just title and body:

FieldSource
title, contentPost/page title and full content
contentnoshortcodesContent with WordPress shortcodes stripped
permalinkCanonical URL
author, type, date, modifiedMetadata
categories, tagsMulti-valued → become facets automatically
numcomments, commentsComment count and (optionally) comment text
Custom fieldsAny custom fields you configure

The key win: WordPress categories and tags become filterable facets with zero mapping. You can also include custom post types and selected custom fields, which the native WordPress search ignores entirely.

Multisite​

The plugin supports network installs. Activated network-wide, it indexes every blog in the network and tags each document with blogid, blogdomain, and blogpath, so a single search box can span the whole network.

Step 4: Query it​

Your WordPress content is now searchable through the Turing API, via REST, GraphQL, or the SDK:

# Faceted search
curl "http://localhost:2700/api/sn/wp-search/search?q=tutorial&rows=10&_setlocale=en_US"

# Autocomplete
curl "http://localhost:2700/api/sn/wp-search/ac?q=tut&_setlocale=en_US"

The plugin also ships a search-results template (turing4wp_search.php) with facet rendering and autocomplete styling, so you can surface the new search inside your theme without building a front end from scratch.

Step 5 (optional): Conversational answers (RAG)​

Because Turing already holds your WordPress content, turning on RAG gives you grounded AI answers with citations over your own posts, with the LLM of your choice (OpenAI, Ollama, Anthropic, Gemini):

curl "http://localhost:2700/api/sn/wp-search/chat?q=How+do+I+reset+my+password"
  • Your content stays in your infrastructure: no per-record SaaS pricing, no data egress.
  • Categories and tags → facets with zero mapping, real-time event-driven sync, custom post types and custom fields included.
  • Search + semantic + RAG in one platform under Apache 2.0.

Next steps​

Viglet Turing is open-source (Apache 2.0) enterprise search with semantic navigation and generative AI. Self-host it, index WordPress, Adobe AEM, databases, file systems, and web content, and own your search stack end to end.