schranz-search / seal-solr-adapter
An adapter to support apache solr in schranz-search/seal search abstraction.
Fund package maintenance!
alexander-schranz
paypal.me/L91
Requires
- php: ^8.1
- psr/container: ^1.0 || ^2.0
- schranz-search/seal: ^0.5
- solarium/solarium: ^6.3
Requires (Dev)
- php-cs-fixer/shim: ^3.51
- phpstan/extension-installer: ^1.2
- phpstan/phpstan: ^1.10
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^10.3
- rector/rector: ^1.0
- symfony/event-dispatcher: ^5.4 || ^6.0 || ^7.0
Conflicts
- solarium/solarium: 6.x-dev
README
Logo created by Meine WilmaSEAL
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