A PHP client for Apache Solr.

0.6.3 2014-02-18 12:53 UTC

This package is auto-updated.

Last update: 2024-06-25 11:44:50 UTC



Build Status Code Coverage Scrutinizer Code Quality Latest Stable Version Total Downloads License

A simple PHP client for Apache Solr that is built on top of Guzzle and inspired by RSolr.


PSolr can be installed with Composer by adding the library as a dependency to your composer.json file.

    "require": {
        "cpliakas/psolr": "*"

After running php composer.phar update on the command line, include the autoloader in your PHP scripts so that the SDK classes are made available.

require_once 'vendor/autoload.php';

Please refer to the Composer's documentation for installation and usage instructions.


Client Instantiation

use PSolr\Client\SolrClient;
use PSolr\Request as Request;

// Connect to a Solr server.
$solr = SolrClient::factory(array(
    'base_url' => 'http://myserver.com:8080', // defaults to "http://localhost:8983"
    'base_path' => '/solr/myIndex',           // defaults to "/solr"

Searching Documents

$select = Request\Select::factory()

$response = $select->sendRequest($solr);

For simple use cases:

$response = $solr->select(array('q' => '*:*'));

Adding Documents

$add = Request\Add::factory();

$document        = new Request\Document();
$document->id    = '123';
$document->title = 'Test document';
$document->tag   = 'Category 1';
$document->tag   = 'Category 2';

$response = $add->sendRequest($solr)

Deleting Documents

$response = Request\Delete::factory()

Sending Arbitrary Solr Requests

$response = $solr->get('admin/ping?wt=json')->send()->json();

Refer to Guzzle's documentation for more details on making web requests.

Refer to Apache Solr's documentation for more details on the API.