Option for additional search types added.
This commit is contained in:
+5
-4
@@ -104,9 +104,10 @@
|
||||
// * mod_get_content_for_index
|
||||
//are the sole basis for including a module in the index at the moment.
|
||||
|
||||
if ($mods = get_records_select('modules' /*'index this module?' where statement*/)) {
|
||||
foreach ($mods as $mod) {
|
||||
if ($mod->name == 'forum') continue;
|
||||
if ($mods = get_records_select('modules' /*'index this module?' where statement*/)) {
|
||||
$mods = array_merge($mods, search_get_additional_modules());
|
||||
|
||||
foreach ($mods as $mod) {
|
||||
$class_file = $CFG->dirroot.'/search/documents/'.$mod->name.'_document.php';
|
||||
|
||||
if (file_exists($class_file)) {
|
||||
@@ -141,7 +142,7 @@
|
||||
$id = insert_record('search_documents', $doc);
|
||||
|
||||
//synchronise db with index
|
||||
$document->addField(Zend_Search_Lucene_Field::Keyword('db_id', $id));
|
||||
$document->addField(Zend_Search_Lucene_Field::Keyword('dbid', $id));
|
||||
|
||||
//add document to index
|
||||
$index->addDocument($document);
|
||||
|
||||
+20
-1
@@ -14,7 +14,8 @@
|
||||
define('SEARCH_TYPE_NONE', 'none');
|
||||
define('SEARCH_TYPE_WIKI', 'wiki');
|
||||
define('SEARCH_TYPE_FORUM', 'forum');
|
||||
define('SEARCH_TYPE_GLOSSARY', 'glossary');
|
||||
define('SEARCH_TYPE_GLOSSARY', 'glossary');
|
||||
define('SEARCH_TYPE_RESOURCE', 'resource');
|
||||
|
||||
//returns all the document type constants
|
||||
function search_get_document_types($prefix='SEARCH_TYPE') {
|
||||
@@ -28,6 +29,24 @@
|
||||
|
||||
return $ret;
|
||||
} //search_get_document_types
|
||||
|
||||
// additional virtual modules to index
|
||||
//
|
||||
// By adding 'moo' to the extras array, an additional document type
|
||||
// documents/moo_document.php will be indexed - this allows for
|
||||
// virtual modules to be added to the index, i.e. non-module specific
|
||||
// information.
|
||||
function search_get_additional_modules() {
|
||||
$extras = array(/* additional keywords go here */);
|
||||
$ret = array();
|
||||
|
||||
foreach($extras as $extra) {
|
||||
$temp->name = $extra;
|
||||
$ret[] = clone($temp);
|
||||
} //foreach
|
||||
|
||||
return $ret;
|
||||
} //search_get_additional_modules
|
||||
|
||||
//shortens a url so it can fit on the results page
|
||||
function search_shorten_url($url, $length=30) {
|
||||
|
||||
@@ -43,6 +43,8 @@
|
||||
//are the sole basis for including a module in the index at the moment.
|
||||
|
||||
if ($mods = get_records_select('modules')) {
|
||||
$mods = array_merge($mods, search_get_additional_modules());
|
||||
|
||||
foreach ($mods as $mod) {
|
||||
$class_file = $CFG->dirroot.'/search/documents/'.$mod->name.'_document.php';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user