I have several custom modules that load and display data from custom tables. I have successfully managed to use the drupal search on these contents, using the drupal search hooks like, hook_update_index, hook_search_execute, etc. But now we have decided to use solr instead. Now I’m totally confused and don’t know how to make solr index my custom data. The closest I’ve come to solving this is to this:
function msearch_apachesolr_index_document_build(&$document, $entity, $entity_type) { if ($entity_type == 'people' && isset($entity->description)) { $document->addField('s_firstname', $entity->field_firstname['und'][0]['value']); $document->addField('s_lastname', $entity->field_lastname['und'][0]['value']); $document->addField('ts_description', $entity->description); } }
This code does not work(as in indexing my data) and it really shouldn’t. There’s no way that the $entity passed to this hook could have my desired data in it. Is there something I should do to manually pass the object to this hook? Do I need to implement hook_cron and do this there?
Thanks, any help is appreciated
PS:
I know how solr indexes data, through POST requests to solr/corename/update, but I doubt that’s the way to go. If I had to go this way, I would’ve had to implement the whole mechanisms for indexing rows and making sure no duplicates were sent for indexing. OR SHOULD IT BE EXACTLY LIKE THIS???
Sponsored by SupremePR