diff --git a/mod/forum/lib.php b/mod/forum/lib.php index 9e3af5d0d57..589101c7d61 100644 --- a/mod/forum/lib.php +++ b/mod/forum/lib.php @@ -1384,9 +1384,21 @@ function forum_search_posts($searchterms, $courseid=0, $limitfrom=0, $limitnum=5 if ($lexer->parse($searchstring)) { $parsearray = $parser->get_parsed_array(); - $messagesearch = search_generate_SQL($parsearray, 'p.message', 'p.subject', - 'p.userid', 'u.id', 'u.firstname', - 'u.lastname', 'p.modified', 'd.forum'); + /// Experimental feature under 1.8! MDL-8830 + /// Use alternative text searches if defined + /// This feature only works under mysql until properly implemented for other DBs + /// Requires manual creation of text index for forum_posts before enabling it: + /// CREATE FULLTEXT INDEX foru_post_tix ON [prefix]forum_posts (subject, message) + /// Experimental feature under 1.8! MDL-8830 + if (!empty($CFG->forum_usetextsearches)) { + $messagesearch = search_generate_text_SQL($parsearray, 'p.message', 'p.subject', + 'p.userid', 'u.id', 'u.firstname', + 'u.lastname', 'p.modified', 'd.forum'); + } else { + $messagesearch = search_generate_SQL($parsearray, 'p.message', 'p.subject', + 'p.userid', 'u.id', 'u.firstname', + 'u.lastname', 'p.modified', 'd.forum'); + } } $fromsql = "{$CFG->prefix}forum_posts p,