<!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>Collapses the result set to a single document per group</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="solrquery.addstatsfield.html">SolrQuery::addStatsField</a></div> <div class="next" style="text-align: right; float: right;"><a href="solrquery.construct.html">SolrQuery::__construct</a></div> <div class="up"><a href="class.solrquery.html">SolrQuery</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="solrquery.collapse" class="refentry"> <div class="refnamediv"> <h1 class="refname">SolrQuery::collapse</h1> <p class="verinfo">(No version information available, might only be in Git)</p><p class="refpurpose"><span class="refname">SolrQuery::collapse</span> — <span class="dc-title">Collapses the result set to a single document per group</span></p> </div> <div class="refsect1 description" id="refsect1-solrquery.collapse-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type"><a href="class.solrquery.html" class="type SolrQuery">SolrQuery</a></span> <span class="methodname"><strong>SolrQuery::collapse</strong></span> ( <span class="methodparam"><span class="type"><a href="class.solrcollapsefunction.html" class="type SolrCollapseFunction">SolrCollapseFunction</a></span> <code class="parameter">$collapseFunction</code></span> )</div> <p class="para rdfs-comment"> Collapses the result set to a single document per group before it forwards the result set to the rest of the search components. </p> <p class="para"> So all downstream components (faceting, highlighting, etc...) will work with the collapsed result set. </p> </div> <div class="refsect1 parameters" id="refsect1-solrquery.collapse-parameters"> <h3 class="title">Parameters</h3> <p class="para"> <dl> <dt> <code class="parameter">collapseFunction</code></dt> <dd> <p class="para"> </p> </dd> </dl> </p> </div> <div class="refsect1 returnvalues" id="refsect1-solrquery.collapse-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> Returns the current <span class="type"><a href="class.solrquery.html" class="type SolrQuery">SolrQuery</a></span> object </p> </div> <div class="refsect1 examples" id="refsect1-solrquery.collapse-examples"> <h3 class="title">Examples</h3> <div class="example" id="example-5890"> <p><strong>Example #1 <span class="methodname"><strong>SolrQuery::collapse()</strong></span> 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 /> </span><span style="color: #DD0000">'path' </span><span style="color: #007700">=> </span><span style="color: #0000BB">SOLR_SERVER_PATH<br /></span><span style="color: #007700">);<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">$collapseFunction </span><span style="color: #007700">= new </span><span style="color: #0000BB">SolrCollapseFunction</span><span style="color: #007700">(</span><span style="color: #DD0000">'manu_id_s'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$collapseFunction<br /></span><span style="color: #007700">-></span><span style="color: #0000BB">setSize</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">)<br />-></span><span style="color: #0000BB">setNullPolicy</span><span style="color: #007700">(</span><span style="color: #0000BB">SolrCollapseFunction</span><span style="color: #007700">::</span><span style="color: #0000BB">NULLPOLICY_IGNORE</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$query<br /></span><span style="color: #007700">-></span><span style="color: #0000BB">collapse</span><span style="color: #007700">(</span><span style="color: #0000BB">$collapseFunction</span><span style="color: #007700">)<br />-></span><span style="color: #0000BB">setRows</span><span style="color: #007700">(</span><span style="color: #0000BB">4</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$queryResponse </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">$queryResponse</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 ( [q] => *:* [indent] => on [fq] => {!collapse field=manu_id_s size=2 nullPolicy=ignore} [rows] => 4 [version] => 2.2 [wt] => xml ) ) [response] => SolrObject Object ( [numFound] => 14 [start] => 0 [docs] => Array ( [0] => SolrObject Object ( [id] => SP2514N [name] => Array ( [0] => Samsung SpinPoint P120 SP2514N - hard drive - 250 GB - ATA-133 ) [manu] => Array ( [0] => Samsung Electronics Co. Ltd. ) [manu_id_s] => samsung [cat] => Array ( [0] => electronics [1] => hard drive ) [features] => Array ( [0] => 7200RPM, 8MB cache, IDE Ultra ATA-133 [1] => NoiseGuard, SilentSeek technology, Fluid Dynamic Bearing (FDB) motor ) [price] => Array ( [0] => 92 ) [popularity] => Array ( [0] => 6 ) [inStock] => Array ( [0] => 1 ) [manufacturedate_dt] => 2006-02-13T15:26:37Z [store] => Array ( [0] => 35.0752,-97.032 ) [_version_] => 1510294336412057600 ) [1] => SolrObject Object ( [id] => 6H500F0 [name] => Array ( [0] => Maxtor DiamondMax 11 - hard drive - 500 GB - SATA-300 ) [manu] => Array ( [0] => Maxtor Corp. ) [manu_id_s] => maxtor [cat] => Array ( [0] => electronics [1] => hard drive ) [features] => Array ( [0] => SATA 3.0Gb/s, NCQ [1] => 8.5ms seek [2] => 16MB cache ) [price] => Array ( [0] => 350 ) [popularity] => Array ( [0] => 6 ) [inStock] => Array ( [0] => 1 ) [store] => Array ( [0] => 45.17614,-93.87341 ) [manufacturedate_dt] => 2006-02-13T15:26:37Z [_version_] => 1510294336449806336 ) [2] => SolrObject Object ( [id] => F8V7067-APL-KIT [name] => Array ( [0] => Belkin Mobile Power Cord for iPod w/ Dock ) [manu] => Array ( [0] => Belkin ) [manu_id_s] => belkin [cat] => Array ( [0] => electronics [1] => connector ) [features] => Array ( [0] => car power adapter, white ) [weight] => Array ( [0] => 4 ) [price] => Array ( [0] => 19.95 ) [popularity] => Array ( [0] => 1 ) [inStock] => Array ( [0] => ) [store] => Array ( [0] => 45.18014,-93.87741 ) [manufacturedate_dt] => 2005-08-01T16:30:25Z [_version_] => 1510294336458194944 ) [3] => SolrObject Object ( [id] => MA147LL/A [name] => Array ( [0] => Apple 60 GB iPod with Video Playback Black ) [manu] => Array ( [0] => Apple Computer Inc. ) [manu_id_s] => apple [cat] => Array ( [0] => electronics [1] => music ) [features] => Array ( [0] => iTunes, Podcasts, Audiobooks [1] => Stores up to 15,000 songs, 25,000 photos, or 150 hours of video [2] => 2.5-inch, 320x240 color TFT LCD display with LED backlight [3] => Up to 20 hours of battery life [4] => Plays AAC, MP3, WAV, AIFF, Audible, Apple Lossless, H.264 video [5] => Notes, Calendar, Phone book, Hold button, Date display, Photo wallet, Built-in games, JPEG photo playback, Upgradeable firmware, USB 2.0 compatibility, Playback speed control, Rechargeable capability, Battery level indication ) [includes] => Array ( [0] => earbud headphones, USB cable ) [weight] => Array ( [0] => 5.5 ) [price] => Array ( [0] => 399 ) [popularity] => Array ( [0] => 10 ) [inStock] => Array ( [0] => 1 ) [store] => Array ( [0] => 37.7752,-100.0232 ) [manufacturedate_dt] => 2005-10-12T08:00:00Z [_version_] => 1510294336562003968 ) ) ) ) </pre></div> </div> </div> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="solrquery.addstatsfield.html">SolrQuery::addStatsField</a></div> <div class="next" style="text-align: right; float: right;"><a href="solrquery.construct.html">SolrQuery::__construct</a></div> <div class="up"><a href="class.solrquery.html">SolrQuery</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>