<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Examples</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.solr-get-version.html">solr_get_version</a></div> <div class="next" style="text-align: right; float: right;"><a href="class.solrutils.html">SolrUtils</a></div> <div class="up"><a href="book.solr.html">Solr</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="solr.examples" class="chapter"> <h1>Examples</h1> <p class="para"> Examples of how to use the Apache Solr extension in PHP </p> <div class="example" id="example-4707"> <p><strong>Example #1 Contents of the BootStrap file</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br /></span><span style="color: #FF8000">/* Domain name of the Solr server */<br /></span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'SOLR_SERVER_HOSTNAME'</span><span style="color: #007700">, </span><span style="color: #DD0000">'solr.example.com'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Whether or not to run in secure mode */<br /></span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'SOLR_SECURE'</span><span style="color: #007700">, </span><span style="color: #0000BB">true</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* HTTP Port to connection */<br /></span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'SOLR_SERVER_PORT'</span><span style="color: #007700">, ((</span><span style="color: #0000BB">SOLR_SECURE</span><span style="color: #007700">) ? </span><span style="color: #0000BB">8443 </span><span style="color: #007700">: </span><span style="color: #0000BB">8983</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">/* HTTP Basic Authentication Username */<br /></span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'SOLR_SERVER_USERNAME'</span><span style="color: #007700">, </span><span style="color: #DD0000">'admin'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* HTTP Basic Authentication password */<br /></span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'SOLR_SERVER_PASSWORD'</span><span style="color: #007700">, </span><span style="color: #DD0000">'changeit'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* HTTP connection timeout */<br />/* This is maximum time in seconds allowed for the http data transfer operation. Default value is 30 seconds */<br /></span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'SOLR_SERVER_TIMEOUT'</span><span style="color: #007700">, </span><span style="color: #0000BB">10</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* File name to a PEM-formatted private key + private certificate (concatenated in that order) */<br /></span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'SOLR_SSL_CERT'</span><span style="color: #007700">, </span><span style="color: #DD0000">'certs/combo.pem'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* File name to a PEM-formatted private certificate only */<br /></span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'SOLR_SSL_CERT_ONLY'</span><span style="color: #007700">, </span><span style="color: #DD0000">'certs/solr.crt'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* File name to a PEM-formatted private key */<br /></span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'SOLR_SSL_KEY'</span><span style="color: #007700">, </span><span style="color: #DD0000">'certs/solr.key'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Password for PEM-formatted private key file */<br /></span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'SOLR_SSL_KEYPASSWORD'</span><span style="color: #007700">, </span><span style="color: #DD0000">'StrongAndSecurePassword'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Name of file holding one or more CA certificates to verify peer with*/<br /></span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'SOLR_SSL_CAINFO'</span><span style="color: #007700">, </span><span style="color: #DD0000">'certs/cacert.crt'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Name of directory holding multiple CA certificates to verify peer with */<br /></span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'SOLR_SSL_CAPATH'</span><span style="color: #007700">, </span><span style="color: #DD0000">'certs/'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> <div class="example" id="example-4708"> <p><strong>Example #2 Adding a document to the index</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br /></span><span style="color: #007700">include </span><span style="color: #DD0000">"bootstrap.php"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$options </span><span style="color: #007700">= array<br />(<br /> </span><span style="color: #DD0000">'hostname' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_HOSTNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'login' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_USERNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'password' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PASSWORD</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'port' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PORT</span><span style="color: #007700">,<br />);<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrClient</span><span style="color: #007700">(</span><span style="color: #0000BB">$options</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$doc </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrInputDocument</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">$doc</span><span style="color: #007700">-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'id'</span><span style="color: #007700">, </span><span style="color: #0000BB">334455</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$doc</span><span style="color: #007700">-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'cat'</span><span style="color: #007700">, </span><span style="color: #DD0000">'Software'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$doc</span><span style="color: #007700">-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'cat'</span><span style="color: #007700">, </span><span style="color: #DD0000">'Lucene'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$updateResponse </span><span style="color: #007700">= </span><span style="color: #0000BB">$client</span><span style="color: #007700">-></span><span style="color: #0000BB">addDocument</span><span style="color: #007700">(</span><span style="color: #0000BB">$doc</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$updateResponse</span><span style="color: #007700">-></span><span style="color: #0000BB">getResponse</span><span style="color: #007700">());<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> <div class="example-contents"><p>The above example will output something similar to:</p></div> <div class="example-contents screen"> <div class="cdata"><pre> SolrObject Object ( [responseHeader] => SolrObject Object ( [status] => 0 [QTime] => 446 ) ) </pre></div> </div> </div> <div class="example" id="example-4709"> <p><strong>Example #3 Merging one document into another document</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br /></span><span style="color: #007700">include </span><span style="color: #DD0000">"bootstrap.php"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$doc </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrDocument</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">$second_doc </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrDocument</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">$doc</span><span style="color: #007700">-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'id'</span><span style="color: #007700">, </span><span style="color: #0000BB">1123</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$doc</span><span style="color: #007700">-></span><span style="color: #0000BB">features </span><span style="color: #007700">= </span><span style="color: #DD0000">"PHP Client Side"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$doc</span><span style="color: #007700">-></span><span style="color: #0000BB">features </span><span style="color: #007700">= </span><span style="color: #DD0000">"Fast development cycles"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$doc</span><span style="color: #007700">[</span><span style="color: #DD0000">'cat'</span><span style="color: #007700">] = </span><span style="color: #DD0000">'Software'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$doc</span><span style="color: #007700">[</span><span style="color: #DD0000">'cat'</span><span style="color: #007700">] = </span><span style="color: #DD0000">'Custom Search'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$doc</span><span style="color: #007700">-></span><span style="color: #0000BB">cat </span><span style="color: #007700">= </span><span style="color: #DD0000">'Information Technology'</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$second_doc</span><span style="color: #007700">-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'cat'</span><span style="color: #007700">, </span><span style="color: #DD0000">'Lucene Search'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$second_doc</span><span style="color: #007700">-></span><span style="color: #0000BB">merge</span><span style="color: #007700">(</span><span style="color: #0000BB">$doc</span><span style="color: #007700">, </span><span style="color: #0000BB">true</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$second_doc</span><span style="color: #007700">-></span><span style="color: #0000BB">toArray</span><span style="color: #007700">());<br /><br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> <div class="example-contents"><p>The above example will output something similar to:</p></div> <div class="example-contents screen"> <div class="cdata"><pre> Array ( [document_boost] => 0 [field_count] => 3 [fields] => Array ( [0] => SolrDocumentField Object ( [name] => cat [boost] => 0 [values] => Array ( [0] => Software [1] => Custom Search [2] => Information Technology ) ) [1] => SolrDocumentField Object ( [name] => id [boost] => 0 [values] => Array ( [0] => 1123 ) ) [2] => SolrDocumentField Object ( [name] => features [boost] => 0 [values] => Array ( [0] => PHP Client Side [1] => Fast development cycles ) ) ) ) </pre></div> </div> </div> <div class="example" id="example-4710"> <p><strong>Example #4 Searching for documents - SolrObject responses</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br /></span><span style="color: #007700">include </span><span style="color: #DD0000">"bootstrap.php"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$options </span><span style="color: #007700">= array<br />(<br /> </span><span style="color: #DD0000">'hostname' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_HOSTNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'login' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_USERNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'password' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PASSWORD</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'port' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PORT</span><span style="color: #007700">,<br />);<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrClient</span><span style="color: #007700">(</span><span style="color: #0000BB">$options</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrQuery</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">setQuery</span><span style="color: #007700">(</span><span style="color: #DD0000">'lucene'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">setStart</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">setRows</span><span style="color: #007700">(</span><span style="color: #0000BB">50</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'cat'</span><span style="color: #007700">)-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'features'</span><span style="color: #007700">)-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'id'</span><span style="color: #007700">)-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'timestamp'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query_response </span><span style="color: #007700">= </span><span style="color: #0000BB">$client</span><span style="color: #007700">-></span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$response </span><span style="color: #007700">= </span><span style="color: #0000BB">$query_response</span><span style="color: #007700">-></span><span style="color: #0000BB">getResponse</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$response</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> <div class="example-contents"><p>The above example will output something similar to:</p></div> <div class="example-contents screen"> <div class="cdata"><pre> SolrObject Object ( [responseHeader] => SolrObject Object ( [status] => 0 [QTime] => 1 [params] => SolrObject Object ( [wt] => xml [rows] => 50 [start] => 0 [indent] => on [q] => lucene [fl] => cat,features,id,timestamp [version] => 2.2 ) ) [response] => SolrObject Object ( [numFound] => 3 [start] => 0 [docs] => Array ( [0] => SolrObject Object ( [cat] => Array ( [0] => Software [1] => Lucene ) [id] => 334456 ) [1] => SolrObject Object ( [cat] => Array ( [0] => Software [1] => Lucene ) [id] => 334455 ) [2] => SolrObject Object ( [cat] => Array ( [0] => software [1] => search ) [features] => Array ( [0] => Advanced Full-Text Search Capabilities using Lucene [1] => Optimized for High Volume Web Traffic [2] => Standards Based Open Interfaces - XML and HTTP [3] => Comprehensive HTML Administration Interfaces [4] => Scalability - Efficient Replication to other Solr Search Servers [5] => Flexible and Adaptable with XML configuration and Schema [6] => Good unicode support: héllo (hello with an accent over the e) ) [id] => SOLR1000 [timestamp] => 2009-09-04T20:38:55.906 ) ) ) ) </pre></div> </div> </div> <div class="example" id="example-4711"> <p><strong>Example #5 Searching for documents - SolrDocument responses</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br /></span><span style="color: #007700">include </span><span style="color: #DD0000">"bootstrap.php"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$options </span><span style="color: #007700">= array<br />(<br /> </span><span style="color: #DD0000">'hostname' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_HOSTNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'login' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_USERNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'password' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PASSWORD</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'port' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PORT</span><span style="color: #007700">,<br />);<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrClient</span><span style="color: #007700">(</span><span style="color: #0000BB">$options</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrQuery</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">setQuery</span><span style="color: #007700">(</span><span style="color: #DD0000">'lucene'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">setStart</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">setRows</span><span style="color: #007700">(</span><span style="color: #0000BB">50</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'cat'</span><span style="color: #007700">)-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'features'</span><span style="color: #007700">)-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'id'</span><span style="color: #007700">)-></span><span style="color: #0000BB">addField</span><span style="color: #007700">(</span><span style="color: #DD0000">'timestamp'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query_response </span><span style="color: #007700">= </span><span style="color: #0000BB">$client</span><span style="color: #007700">-></span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query_response</span><span style="color: #007700">-></span><span style="color: #0000BB">setParseMode</span><span style="color: #007700">(</span><span style="color: #0000BB">SolrQueryResponse</span><span style="color: #007700">::</span><span style="color: #0000BB">PARSE_SOLR_DOC</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$response </span><span style="color: #007700">= </span><span style="color: #0000BB">$query_response</span><span style="color: #007700">-></span><span style="color: #0000BB">getResponse</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$response</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> <div class="example-contents"><p>The above example will output something similar to:</p></div> <div class="example-contents screen"> <div class="cdata"><pre> SolrObject Object ( [responseHeader] => SolrObject Object ( [status] => 0 [QTime] => 1 [params] => SolrObject Object ( [wt] => xml [rows] => 50 [start] => 0 [indent] => on [q] => lucene [fl] => cat,features,id,timestamp [version] => 2.2 ) ) [response] => SolrObject Object ( [numFound] => 3 [start] => 0 [docs] => Array ( [0] => SolrDocument Object ( [_hashtable_index:SolrDocument:private] => 19740 ) [1] => SolrDocument Object ( [_hashtable_index:SolrDocument:private] => 25485 ) [2] => SolrDocument Object ( [_hashtable_index:SolrDocument:private] => 25052 ) ) ) ) </pre></div> </div> </div> <div class="example" id="example-4712"> <p><strong>Example #6 Simple TermsComponent example - basic</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br /></span><span style="color: #007700">include </span><span style="color: #DD0000">"bootstrap.php"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$options </span><span style="color: #007700">= array<br />(<br /> </span><span style="color: #DD0000">'hostname' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_HOSTNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'login' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_USERNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'password' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PASSWORD</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'port' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PORT</span><span style="color: #007700">,<br />);<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrClient</span><span style="color: #007700">(</span><span style="color: #0000BB">$options</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrQuery</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">setTerms</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">setTermsField</span><span style="color: #007700">(</span><span style="color: #DD0000">'cat'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$updateResponse </span><span style="color: #007700">= </span><span style="color: #0000BB">$client</span><span style="color: #007700">-></span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$updateResponse</span><span style="color: #007700">-></span><span style="color: #0000BB">getResponse</span><span style="color: #007700">());<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> <div class="example-contents"><p>The above example will output something similar to:</p></div> <div class="example-contents screen"> <div class="cdata"><pre> SolrObject Object ( [responseHeader] => SolrObject Object ( [status] => 0 [QTime] => 2 ) [terms] => SolrObject Object ( [cat] => SolrObject Object ( [electronics] => 14 [Lucene] => 4 [Software] => 4 [memory] => 3 [card] => 2 [connector] => 2 [drive] => 2 [graphics] => 2 [hard] => 2 [monitor] => 2 ) ) ) </pre></div> </div> </div> <div class="example" id="example-4713"> <p><strong>Example #7 Simple TermsComponent example - using a prefix</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br /></span><span style="color: #007700">include </span><span style="color: #DD0000">"bootstrap.php"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$options </span><span style="color: #007700">= array<br />(<br /> </span><span style="color: #DD0000">'hostname' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_HOSTNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'login' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_USERNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'password' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PASSWORD</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'port' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PORT</span><span style="color: #007700">,<br />);<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrClient</span><span style="color: #007700">(</span><span style="color: #0000BB">$options</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrQuery</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">setTerms</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Return only terms starting with $prefix */<br /></span><span style="color: #0000BB">$prefix </span><span style="color: #007700">= </span><span style="color: #DD0000">'c'</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">setTermsField</span><span style="color: #007700">(</span><span style="color: #DD0000">'cat'</span><span style="color: #007700">)-></span><span style="color: #0000BB">setTermsPrefix</span><span style="color: #007700">(</span><span style="color: #0000BB">$prefix</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$updateResponse </span><span style="color: #007700">= </span><span style="color: #0000BB">$client</span><span style="color: #007700">-></span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$updateResponse</span><span style="color: #007700">-></span><span style="color: #0000BB">getResponse</span><span style="color: #007700">());<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> <div class="example-contents"><p>The above example will output something similar to:</p></div> <div class="example-contents screen"> <div class="cdata"><pre> SolrObject Object ( [responseHeader] => SolrObject Object ( [status] => 0 [QTime] => 1 ) [terms] => SolrObject Object ( [cat] => SolrObject Object ( [card] => 2 [connector] => 2 [camera] => 1 [copier] => 1 ) ) ) </pre></div> </div> </div> <div class="example" id="example-4714"> <p><strong>Example #8 Simple TermsComponent example - specifying a minimum frequency</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br /></span><span style="color: #007700">include </span><span style="color: #DD0000">"bootstrap.php"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$options </span><span style="color: #007700">= array<br />(<br /> </span><span style="color: #DD0000">'hostname' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_HOSTNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'login' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_USERNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'password' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PASSWORD</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'port' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PORT</span><span style="color: #007700">,<br />);<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrClient</span><span style="color: #007700">(</span><span style="color: #0000BB">$options</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrQuery</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">setTerms</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Return only terms starting with $prefix */<br /></span><span style="color: #0000BB">$prefix </span><span style="color: #007700">= </span><span style="color: #DD0000">'c'</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">/* Return only terms with a frequency of 2 or greater */<br /></span><span style="color: #0000BB">$min_frequency </span><span style="color: #007700">= </span><span style="color: #0000BB">2</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">setTermsField</span><span style="color: #007700">(</span><span style="color: #DD0000">'cat'</span><span style="color: #007700">)-></span><span style="color: #0000BB">setTermsPrefix</span><span style="color: #007700">(</span><span style="color: #0000BB">$prefix</span><span style="color: #007700">)-></span><span style="color: #0000BB">setTermsMinCount</span><span style="color: #007700">(</span><span style="color: #0000BB">$min_frequency</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$updateResponse </span><span style="color: #007700">= </span><span style="color: #0000BB">$client</span><span style="color: #007700">-></span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$updateResponse</span><span style="color: #007700">-></span><span style="color: #0000BB">getResponse</span><span style="color: #007700">());<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> <div class="example-contents"><p>The above example will output something similar to:</p></div> <div class="example-contents screen"> <div class="cdata"><pre> SolrObject Object ( [responseHeader] => SolrObject Object ( [status] => 0 [QTime] => 0 ) [terms] => SolrObject Object ( [cat] => SolrObject Object ( [card] => 2 [connector] => 2 ) ) ) </pre></div> </div> </div> <div class="example" id="example-4715"> <p><strong>Example #9 Simple Facet Example</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br /></span><span style="color: #007700">include </span><span style="color: #DD0000">"bootstrap.php"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$options </span><span style="color: #007700">= array<br />(<br /> </span><span style="color: #DD0000">'hostname' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_HOSTNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'login' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_USERNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'password' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PASSWORD</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'port' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PORT</span><span style="color: #007700">,<br />);<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrClient</span><span style="color: #007700">(</span><span style="color: #0000BB">$options</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrQuery</span><span style="color: #007700">(</span><span style="color: #DD0000">'*:*'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">setFacet</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">addFacetField</span><span style="color: #007700">(</span><span style="color: #DD0000">'cat'</span><span style="color: #007700">)-></span><span style="color: #0000BB">addFacetField</span><span style="color: #007700">(</span><span style="color: #DD0000">'name'</span><span style="color: #007700">)-></span><span style="color: #0000BB">setFacetMinCount</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$updateResponse </span><span style="color: #007700">= </span><span style="color: #0000BB">$client</span><span style="color: #007700">-></span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$response_array </span><span style="color: #007700">= </span><span style="color: #0000BB">$updateResponse</span><span style="color: #007700">-></span><span style="color: #0000BB">getResponse</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">$facet_data </span><span style="color: #007700">= </span><span style="color: #0000BB">$response_array</span><span style="color: #007700">-></span><span style="color: #0000BB">facet_counts</span><span style="color: #007700">-></span><span style="color: #0000BB">facet_fields</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$facet_data</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> <div class="example-contents"><p>The above example will output something similar to:</p></div> <div class="example-contents screen"> <div class="cdata"><pre> SolrObject Object ( [cat] => SolrObject Object ( [electronics] => 14 [memory] => 3 [Lucene] => 2 [Software] => 2 [card] => 2 [connector] => 2 [drive] => 2 [graphics] => 2 [hard] => 2 [monitor] => 2 [search] => 2 [software] => 2 ) [name] => SolrObject Object ( [gb] => 6 [1] => 3 [184] => 3 [2] => 3 [3200] => 3 [400] => 3 [500] => 3 [ddr] => 3 [i] => 3 [ipod] => 3 [memori] => 3 [pc] => 3 [pin] => 3 [pod] => 3 [sdram] => 3 [system] => 3 [unbuff] => 3 [canon] => 2 [corsair] => 2 [drive] => 2 [hard] => 2 [mb] => 2 [n] => 2 [power] => 2 [retail] => 2 [video] => 2 [x] => 2 ) ) </pre></div> </div> </div> <div class="example" id="example-4716"> <p><strong>Example #10 Simple Facet Example - with optional field override for mincount</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br /></span><span style="color: #007700">include </span><span style="color: #DD0000">"bootstrap.php"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$options </span><span style="color: #007700">= array<br />(<br /> </span><span style="color: #DD0000">'hostname' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_HOSTNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'login' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_USERNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'password' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PASSWORD</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'port' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PORT</span><span style="color: #007700">,<br />);<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrClient</span><span style="color: #007700">(</span><span style="color: #0000BB">$options</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrQuery</span><span style="color: #007700">(</span><span style="color: #DD0000">'*:*'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">setFacet</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">addFacetField</span><span style="color: #007700">(</span><span style="color: #DD0000">'cat'</span><span style="color: #007700">)-></span><span style="color: #0000BB">addFacetField</span><span style="color: #007700">(</span><span style="color: #DD0000">'name'</span><span style="color: #007700">)-></span><span style="color: #0000BB">setFacetMinCount</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">)-></span><span style="color: #0000BB">setFacetMinCount</span><span style="color: #007700">(</span><span style="color: #0000BB">4</span><span style="color: #007700">, </span><span style="color: #DD0000">'name'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$updateResponse </span><span style="color: #007700">= </span><span style="color: #0000BB">$client</span><span style="color: #007700">-></span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$response_array </span><span style="color: #007700">= </span><span style="color: #0000BB">$updateResponse</span><span style="color: #007700">-></span><span style="color: #0000BB">getResponse</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">$facet_data </span><span style="color: #007700">= </span><span style="color: #0000BB">$response_array</span><span style="color: #007700">-></span><span style="color: #0000BB">facet_counts</span><span style="color: #007700">-></span><span style="color: #0000BB">facet_fields</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$facet_data</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> <div class="example-contents"><p>The above example will output something similar to:</p></div> <div class="example-contents screen"> <div class="cdata"><pre> SolrObject Object ( [cat] => SolrObject Object ( [electronics] => 14 [memory] => 3 [Lucene] => 2 [Software] => 2 [card] => 2 [connector] => 2 [drive] => 2 [graphics] => 2 [hard] => 2 [monitor] => 2 [search] => 2 [software] => 2 ) [name] => SolrObject Object ( [gb] => 6 ) ) </pre></div> </div> </div> <div class="example" id="example-4717"> <p><strong>Example #11 Connecting to SSL-Enabled Server</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br /></span><span style="color: #007700">include </span><span style="color: #DD0000">"bootstrap.php"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$options </span><span style="color: #007700">= array<br />(<br /> </span><span style="color: #DD0000">'hostname' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_HOSTNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'login' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_USERNAME</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'password' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PASSWORD</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'port' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PORT</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'timeout' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_TIMEOUT</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'secure' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SECURE</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'ssl_cert' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SSL_CERT_ONLY</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'ssl_key' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SSL_KEY</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'ssl_keypassword' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SSL_KEYPASSWORD</span><span style="color: #007700">,<br /> </span><span style="color: #DD0000">'ssl_cainfo' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SSL_CAINFO</span><span style="color: #007700">,<br />);<br /><br /></span><span style="color: #0000BB">$client </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrClient</span><span style="color: #007700">(</span><span style="color: #0000BB">$options</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrQuery</span><span style="color: #007700">(</span><span style="color: #DD0000">'*:*'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">setFacet</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">-></span><span style="color: #0000BB">addFacetField</span><span style="color: #007700">(</span><span style="color: #DD0000">'cat'</span><span style="color: #007700">)-></span><span style="color: #0000BB">addFacetField</span><span style="color: #007700">(</span><span style="color: #DD0000">'name'</span><span style="color: #007700">)-></span><span style="color: #0000BB">setFacetMinCount</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">)-></span><span style="color: #0000BB">setFacetMinCount</span><span style="color: #007700">(</span><span style="color: #0000BB">4</span><span style="color: #007700">, </span><span style="color: #DD0000">'name'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$updateResponse </span><span style="color: #007700">= </span><span style="color: #0000BB">$client</span><span style="color: #007700">-></span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$response_array </span><span style="color: #007700">= </span><span style="color: #0000BB">$updateResponse</span><span style="color: #007700">-></span><span style="color: #0000BB">getResponse</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">$facet_data </span><span style="color: #007700">= </span><span style="color: #0000BB">$response_array</span><span style="color: #007700">-></span><span style="color: #0000BB">facet_counts</span><span style="color: #007700">-></span><span style="color: #0000BB">facet_fields</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$facet_data</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> <div class="example-contents"><p>The above example will output something similar to:</p></div> <div class="example-contents screen"> <div class="cdata"><pre> SolrObject Object ( [cat] => SolrObject Object ( [electronics] => 14 [memory] => 3 [Lucene] => 2 [Software] => 2 [card] => 2 [connector] => 2 [drive] => 2 [graphics] => 2 [hard] => 2 [monitor] => 2 [search] => 2 [software] => 2 ) [name] => SolrObject Object ( [gb] => 6 ) ) </pre></div> </div> </div> </div> <hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.solr-get-version.html">solr_get_version</a></div> <div class="next" style="text-align: right; float: right;"><a href="class.solrutils.html">SolrUtils</a></div> <div class="up"><a href="book.solr.html">Solr</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>