Original Client Code Contributed By Brian Lucas:

There are two classes for PHP: SolrUpdate and SolrQuery.

/!\ :TODO: /!\

- clean up some of the XML writing code -- it's a tad "kludgy" right now.

- abstract out more of the logic into configurable variables

- add back in the logging and debugging classes that clean up the "echo" calls

Alternative Client Contributed by Donovan Jimenez:

Zip / Tarballs can be found at SolrPhpClient

Apache Solr PHP Extension by Israel Ekpo:

The Apache Solr PECL extension is a light-weight, feature-rich library that allows developers using Apache Solr via PHP to communicate easily and efficiently with the Solr web service using an object-oriented API.

The documentation for the PECL extension contains instructions on how to install the extension and is available in the PHP Manual under Search Engine Extensions.

Sometimes, the official documentation may take a while to update. The documentation for the Solr PECL extension is constantly being updated from time to time.

If you are unable to find some information on the official PHP manual, please check here

The latest version of the PECL extension is 0.9.7 (2009-11-17)

The php extension can be downloaded from the Apache Solr PECL project home page.

A quick list of some of the features of the API include :

The extension currently uses version 2.2 of the xml response format internally.

The contents of the XML response is transformed into native PHP types and the result is returned as a Solr Object instance.

You may also install it by running the following command in the console :

$ pecl install solr-beta

Using Solr's PHP Output (Solr Version >=1.3)

Solr has a PHP response format that outputs an array (as PHP code) which can be eval'd.

https://issues.apache.org/jira/browse/SOLR-196

Example usage:

$code = file_get_contents('http://localhost:8983/solr/select?q=iPod&wt=php');
eval("\$result = " . $code . ";");
print_r($result);

Using Solr's PHP Serialized Output (Solr Version >=1.3)

Solr has a PHP response format that outputs a serialized array.

https://issues.apache.org/jira/browse/SOLR-196

Example usage:

$serializedResult = file_get_contents('http://localhost:8983/solr/select?q=iPod&wt=phps');
$result = unserialize($serializedResult);
print_r($result);

In order to use either PHP or Serialized PHP Response Writers, you may first need to uncomment these two lines in your solrconfig.xml:

<queryResponseWriter name="php" class="org.apache.solr.request.PHPResponseWriter"/>
<queryResponseWriter name="phps" class="org.apache.solr.request.PHPSerializedResponseWriter"/>


CategoryQueryResponseWriter

SolPHP (last edited 2009-11-17 19:25:28 by israelekpo)