function _uniqueness_content_solr in Uniqueness 7
Same name and namespace in other branches
- 6 uniqueness.module \_uniqueness_content_solr()
Searches for realted content using the apachesolr module.
1 call to _uniqueness_content_solr()
- uniqueness_content in ./
uniqueness.module - Perform lookup of related or similar content.
File
- ./
uniqueness.module, line 475 - uniqueness.module
Code
function _uniqueness_content_solr($values) {
// Check that the apachesolr module is available.
if (!module_exists('apachesolr_search')) {
drupal_set_message(t('Solr search module not found. Please select a different search mode on the uniqueness configuration page.'), 'warning');
return array();
}
$related_content = array();
$filter = array_key_exists('type', $values) ? 'type:' . $values['type'] : '';
$nid = array_key_exists('nid', $values) ? $values['nid'] : 0;
// Search title.
if ($values['title']) {
$title_content = uniqueness_solr($values['title'], $filter, $nid);
if (!empty($title_content)) {
$related_content = $related_content + $title_content;
}
}
// Search tags.
if (isset($values['tags'])) {
$tags = explode(',', $values['tags']);
foreach ($tags as $tag) {
$results = uniqueness_solr(trim($tag), $filter, $nid);
if (!empty($results)) {
$related_content = $related_content + $results;
}
}
}
$limit = variable_get('uniqueness_results_max', 10);
if (count($related_content) > $limit + 1) {
// +1 for "... and more"
array_slice($related_content, 0, $limit + 1, TRUE);
}
return $related_content;
}