apachesolr_og.module in Apache Solr Organic Groups Integration 6.3
Same filename and directory in other branches
Integrates Organic Group info with Apache Solr search application.
File
apachesolr_og.moduleView source
<?php
/**
* @file
* Integrates Organic Group info with Apache Solr search application.
*/
/**
* Implements hook_apachesolr_index_document_build_ENTITY_TYPE().
*
* @param ApacheSolrDocument $document
* @param type $node
* @param type $env_id
*/
function apachesolr_og_apachesolr_index_document_build_node(ApacheSolrDocument $document, $node, $env_id) {
// Index group posts
if (!empty($node->og_groups)) {
foreach ($node->og_groups as $gid) {
$document
->setMultiValue(apachesolr_og_gid_key(), $gid);
}
}
elseif (isset($node->og_description) && variable_get('apachesolr_og_groupnode', 0)) {
// Index the group node itself as in the group.
$document
->setMultiValue(apachesolr_og_gid_key(), $node->nid);
}
}
/**
* Implements hook_facetapi_facet_info().
* @param type $searcher_info
* @return array $facets
*/
function apachesolr_og_facetapi_facet_info($searcher_info) {
$key = apachesolr_og_gid_key();
$facets = array();
$facets[$key] = array(
'field' => $key,
'label' => t('Organic Group'),
'description' => t('Filter by Organic Group'),
);
return $facets;
}
/**
* Apachesolr index name for Organic group id
*
*/
function apachesolr_og_gid_key() {
$group_id = array(
'name' => 'og_gid',
'multiple' => TRUE,
'index_type' => 'integer',
);
// Returns im_og_gid.
return apachesolr_index_key($group_id);
}
Functions
Name![]() |
Description |
---|---|
apachesolr_og_apachesolr_index_document_build_node | Implements hook_apachesolr_index_document_build_ENTITY_TYPE(). |
apachesolr_og_facetapi_facet_info | Implements hook_facetapi_facet_info(). |
apachesolr_og_gid_key | Apachesolr index name for Organic group id |