--- lib/Grep/Search.pm 2007/02/24 11:42:10 95 +++ lib/Grep/Search.pm 2007/02/24 12:16:57 98 @@ -2,6 +2,7 @@ use strict; use warnings; +use base 'Jifty::Object'; use Data::Dump qw/dump/; use Lucene; @@ -15,38 +16,47 @@ my $create; sub create { + my $self = shift; if (defined( $create )) { - Jifty->log->debug("using previous create $create"); + $self->log->debug("using previous create $create"); return $create; } if (! -e "$index_path/segments") { $create = 1; - Jifty->log->debug("create index $index_path"); + $self->log->debug("create index $index_path"); } else { $create = 0; - Jifty->log->debug("open index: $index_path"); + $self->log->debug("open index: $index_path"); } return $create; } sub analyzer { my $self = shift; - $analyzer ||= new Lucene::Analysis::Standard::StandardAnalyzer(); + if (! defined( $analyzer )) { + $analyzer = new Lucene::Analysis::Standard::StandardAnalyzer(); + $self->log->debug("$analyzer created"); + } return $analyzer; } sub store { my $self = shift; - - $store ||= Lucene::Store::FSDirectory->getDirectory( $index_path, $self->create ); + if (! defined( $store )) { + $store = Lucene::Store::FSDirectory->getDirectory( $index_path, $self->create ); + $self->log->debug("$store created"); + } return $store; } sub writer { my $self = shift; - $writer ||= new Lucene::Index::IndexWriter( $self->store, $self->analyzer, $self->create ); + if (! defined( $writer )) { + $writer = new Lucene::Index::IndexWriter( $self->store, $self->analyzer, $self->create ); + $self->log->debug("$writer created"); + } return $writer; } @@ -117,7 +127,7 @@ $self->writer->addDocument($doc); - Jifty->log->debug("added ", $i->id, " for user $uid to index"); + $self->log->debug("added ", $i->id, " for user $uid to index"); } =head2 @@ -134,18 +144,20 @@ return if ( $self->create ); my $searcher = new Lucene::Search::IndexSearcher($self->store); + $self->log->debug("$searcher created"); my $parser = new Lucene::QueryParser("content", $self->analyzer); + $self->log->debug("$parser created"); 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); + $self->log->debug("searching for '$q' using ", $query->toString); my $hits = $searcher->search($query); my $num_hits = $hits->length(); - Jifty->log->debug("found $num_hits results"); + $self->log->debug("found $num_hits results"); my $collection = Grep::Model::ItemCollection->new();