You are here

function _uniqueness_content_solr in Uniqueness 6

Same name and namespace in other branches
  1. 7 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 448
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 ($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;
}