Skip to content

kaznovac/solarium

 
 

Repository files navigation

Solarium PHP Solr Client Library

What is Solarium?

Solarium is a PHP Solr client library that accurately models Solr concepts. Where many other Solr libraries only handle the communication with Solr, Solarium also relieves you of handling all the complex Solr query parameters using a well documented API.

Please see the docs for a more detailed description.

Requirements

Solarium 6.3.2 and up only supports PHP 8.0 and up.

It's highly recommended to have cURL enabled in your PHP environment. However if you don't have cURL available you can switch from using cURL (the default) to a pure PHP based HTTP client adapter which works for the essential stuff but doesn't support things like parallel query execution.

Alternatively you can inject any PSR-18 compatible HTTP Client using the Psr18Adapter.

Getting started

The preferred way to install Solarium is by using Composer. Solarium is available on Packagist.

Example:

composer require solarium/solarium

Pitfalls when upgrading from earlier versions

When upgrading from an earlier version, you should be aware of a number of pitfalls.

Run the examples

To run the examples read through the Example code section of the documentation.

Run the tests

The phpunit tests contain some integration tests that require a running Solr instance. And this Solr instance requires some special configuration. Have a look at .github/workflows/run-tests.yml to see how to start a well configured Solr docker container locally. If you just want to run the unit tests, just ensure that there's no other Solr server listening on the standard port 8983 and the integration tests will be skipped.

You can run the tests in a Windows environment. For all of them to pass, you must make sure to checkout with LF line endings.

More information

Continuous Integration status

  • Run Tests
  • codecov
  • Total Downloads

About

PHP Solr client library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%