An overview of Weaviate’s architecture

Table of Contents


Weaviate is an open-source, cloud-native, and unified search engine that uses vector-based machine learning to power its search technology. It allows you to search for things, which are represented as objects, and provides exact matches as well as fuzzy matches. Weaviate is useful in the context of unstructured data because it can extract and index useful information from large data sets.

In this post, we will provide an overview of Weaviate’s architecture. Additionally, we will provide a sample code with PHP client that is embedded in HTML tags. Finally, we will discuss how WPSOLR can help in using Weaviate.

Weaviate’s architecture

At a high level, Weaviate’s architecture can be divided into three layers: storage, search, and REST API.

Storage layer

The storage layer is responsible for storing objects and their metadata. This layer uses a graph database to represent data as nodes and edges. The nodes represent objects, and the edges represent relationships between objects.

Search layer

The search layer provides an interface to search for objects. This layer uses vector-based machine learning algorithms to search for objects that match the query. The algorithms used at this layer are capable of understanding the meaning and context of objects and can compute similarity scores between them.

REST API layer

The REST API layer provides a programmatic interface for performing CRUD (Create, Read, Update, and Delete) operations on objects. This layer is responsible for handling requests from clients and communicating with the search and storage layers.


// A sample code that demonstrates how to use PHP client in Weaviate

use Weaviate\Client\Configuration;
use Weaviate\Client\ApiException;
use Weaviate\Client\ObjectBody;
use Weaviate\Client\WebhooksBody;


// Configurations
$configuration = new Configuration();
$configuration->setApiKey('authorization', 'Bearer ');

// Initialize the client
$client = new \Weaviate\Client\ApiClient($configuration);

try {
// Create a new object
$object = new ObjectBody(['name' => 'John Doe']);
$result = $client->objects()->createObject('Person', $object);

// Update the object
$object->name = 'Jane Doe';
$client->objects()->updateObject('Person', $result->uuid, $object);

// Get the object
$result = $client->objects()->getObject('Person', $result->uuid);

// Delete the object
$client->objects()->deleteObject('Person', $result->uuid);
} catch (ApiException $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";

How WPSOLR can help

WPSOLR is a WordPress plugin that provides search functionality for WordPress websites. WPSOLR can be integrated with Weaviate to provide powerful search capabilities for WordPress sites.

By using WPSOLR and Weaviate together, you can provide your users with an enhanced search experience. WPSOLR allows you to perform complex searches on your WordPress site, while Weaviate provides an advanced search algorithm that can extract useful information from large data sets.

Additionally, WPSOLR allows you to customize search results and present them in a user-friendly way. You can use WPSOLR to customize the search layout and even add facets to the results page.


Weaviate is a powerful open-source search engine that uses vector-based machine learning to power its search technology. Its architecture comprises three layers: storage, search, and REST API. WPSOLR can be used to integrate Weaviate with WordPress sites, providing enhanced search capabilities and customization options.

Read more related content