createSelect(); // add a query and morelikethis settings (using fluent interface) $query->setQuery('apache') ->getMoreLikeThis() ->setFields('manu,cat') ->setMinimumDocumentFrequency(1) ->setMinimumTermFrequency(1); // this executes the query and returns the result $resultset = $client->select($query); $mlt = $resultset->getMoreLikeThis(); // display the total number of documents found by solr echo 'NumFound: '.$resultset->getNumFound(); // show documents using the resultset iterator foreach ($resultset as $document) { echo '
'; // the documents are also iterable, to get all fields foreach($document AS $field => $value) { // this converts multivalue fields to a comma-separated string if(is_array($value)) $value = implode(', ', $value); echo ''; } echo '
' . $field . '' . $value . '

MLT results:
'; // mlt results can be fetched by document id (the field defined as uniquekey in this schema) $mltResult = $mlt->getResult($document->id); if($mltResult){ echo 'Max score: '.$mltResult->getMaximumScore().'
'; echo 'NumFound: '.$mltResult->getNumFound().'
'; echo 'Num. fetched: '.count($mltResult).'
'; foreach($mltResult AS $mltDoc) { echo 'MLT result doc: '. $mltDoc->name . ' (id='. $mltDoc->id . ')
'; } }else{ echo 'No MLT results'; } } htmlFooter();