$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;
 }