schranz-search/seal-typesense-adapter

An adapter to support typesense in schranz-search/seal search abstraction.

0.4.0 2024-03-18 21:03 UTC

This package is auto-updated.

Last update: 2024-03-29 09:11:27 UTC


README

Schranz Search Logo with a Seal on it with a magnifying glass

Schranz Search SEAL
Typesense Adapter



The TypesenseAdapter write the documents into a Typesense server instance.

Note: This is part of the schranz-search/schranz-search project create issues in the main repository.

Note: This project is heavily under development and any feedback is greatly appreciated.

Installation

Use composer for install the package:

composer require schranz-search/seal schranz-search/seal-typesense-adapter

Usage.

The following code shows how to create an Engine using this Adapter:

<?php

use Http\Client\Curl\Client as CurlClient;
use Http\Discovery\Psr17FactoryDiscovery;
use Schranz\Search\SEAL\Adapter\Typesense\TypesenseAdapter;
use Schranz\Search\SEAL\Engine;
use Typesense\Client;

$client = new Client(
    [
        'api_key' => 'S3CR3T',
        'nodes' => [
            [
                'host' => '127.0.0.1',
                'port' => '8108',
                'protocol' => 'http',
            ],
        ],
        'client' => new CurlClient(Psr17FactoryDiscovery::findResponseFactory(), Psr17FactoryDiscovery::findStreamFactory()),
    ]
);

$engine = new Engine(
    new TypesenseAdapter($client),
    $schema,
);

Via DSN for your favorite framework:

typesense://S3CR3T@127.0.0.1:8108

Authors