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.
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"
));
$select = Request\Select::factory()
->setQuery('*:*')
->setStart(0)
->setRows(10)
;
$response = $select->sendRequest($solr);
$response->numFound();
For simple use cases:
$response = $solr->select(array('q' => '*:*'));
$add = Request\Add::factory();
$document = new Request\Document();
$document->id = '123';
$document->title = 'Test document';
$document->tag = 'Category 1';
$document->tag = 'Category 2';
$add->addDocument($document);
$response = $add->sendRequest($solr)
$response = Request\Delete::factory()
->addId('123')
->addId('456')
->addQuery('platform:solr')
->sendRequest($solr)
;
$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.