--- lib/Grep/Search.pm 2007/02/21 19:31:26 60 +++ lib/Grep/Search.pm 2007/02/21 20:22:07 64 @@ -52,7 +52,7 @@ =head2 add - Grep::Search->add( $record ); + Grep::Search->add( $record, $owner_id ); =cut @@ -60,6 +60,7 @@ my $self = shift; my $i = shift or die "no record to add"; + my $uid = shift; die "record not Jifty::Record but ", ref $i unless ($i->isa('Jifty::Record')); @@ -110,9 +111,13 @@ } } + # add _owner_id to speed up filtering of search results + $uid ||= Jifty->web->current_user->id; + $doc->add(Lucene::Document::Field->Keyword( '_owner_id', $uid )); + $self->writer->addDocument($doc); - Jifty->log->debug("added ", $i->id, " to index"); + Jifty->log->debug("added ", $i->id, " for user $uid to index"); } =head2 @@ -130,7 +135,10 @@ my $searcher = new Lucene::Search::IndexSearcher($self->store); my $parser = new Lucene::QueryParser("content", $self->analyzer); - my $query = $parser->parse( $q ); + + my $full_q = "($q) AND _owner_id:" . Jifty->web->current_user->id; + + my $query = $parser->parse( $full_q ); Jifty->log->debug("searching for '$q' using ", $query->toString);