schranz-search/seal-solr-adapter

An adapter to support apache solr 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:23 UTC


README

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

Schranz Search SEAL
Solr Adapter



The SolrAdapter write the documents into a Apache Solr server instance. The Apache Solr server is running in the cloud mode as we require to use collections for indexes.

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-solr-adapter

Usage.

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

<?php

use Solr\Client;
use Solarium\Core\Client\Adapter\Curl;
use Schranz\Search\SEAL\Adapter\Solr\SolrAdapter;
use Schranz\Search\SEAL\Engine;
use Symfony\Component\EventDispatcher\EventDispatcher;

$client = new Client(new Curl(), new EventDispatcher(), [
    'endpoint' => [
        'localhost' => [
            'host' => '127.0.0.1',
            'port' => '8983',
            // authenticated required for configset api https://solr.apache.org/guide/8_9/configsets-api.html
            // alternative set solr.disableConfigSetsCreateAuthChecks=true in your server setup
            'username' => 'solr',
            'password' => 'SolrRocks',
        ],
    ]
]);

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

Via DSN for your favorite framework:

solr://127.0.0.1:8983
solr://solr:SolrRocks@127.0.0.1:8983

Authors