$type_group = 0; $totaltime = 0; $documents = 0; while ($pos < $numlines) { // Pick how many lines to use for one 'document' $doclines = rand(5, 200); if ($pos + $doclines > $numlines) { $doclines = $numlines - $pos; } $start = $pos; // Set up document $document = new ousearch_document(); $document->init_test('test2'); // Refs define document and place in it $document->set_string_ref($filename); $document->set_int_refs($start, $doclines); // Type (group.user) $type = rand(0, 99); if ($type < 50) { // 50% None $type_none++; } else { if ($type < 90) { // 40% Group $document->set_group_id($groups[rand(0, count($groups) - 1)]); $type_group++; } else { // 10% User $document->set_user_id($users[rand(0, count($users) - 1)]); $type_user++; }
/** * Obtains a search document relating to a particular blog post. * * @param object $post Post object. Required fields: id (optionally also * groupid, userid save a db query) * @param object $cm Course-module object. Required fields: id, course * @return ousearch_doument */ function oublog_get_search_document($post, $cm) { // Set up 'search document' to refer to this post $doc = new ousearch_document(); $doc->init_module_instance('oublog', $cm); if (!isset($post->userid) || !isset($post->groupid)) { global $CFG; $results = get_record_sql("\nSELECT\n p.groupid,i.userid\nFROM\n{$CFG->prefix}oublog_posts p\n INNER JOIN {$CFG->prefix}oublog_instances i ON p.oubloginstancesid=i.id\nWHERE\n p.id={$post->id}"); if (!$results) { error("Can't find details for blog post {$post->id}"); } $post->userid = $results->userid; $post->groupid = $results->groupid; } if ($post->groupid) { $doc->set_group_id($post->groupid); } $doc->set_user_id($post->userid); $doc->set_int_refs($post->id); return $doc; }
/** * Obtains search document representing this post. * @return ousearch_document Document object */ function search_get_document() { $doc = new ousearch_document(); $doc->init_module_instance('forumng', $this->get_forum()->get_course_module()); if ($groupid = $this->discussion->get_group_id()) { $doc->set_group_id($groupid); } $doc->set_int_refs($this->get_id()); return $doc; }