Changeset 431 for wiki-toolkit/trunk/lib/Wiki/Toolkit/Search/Plucene.pm
- Timestamp:
- 05/11/08 17:04:41 (4 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
wiki-toolkit/trunk/lib/Wiki/Toolkit/Search/Plucene.pm
r209 r431 54 54 my ($self, $query, $default) = @_; 55 55 my $parser = Plucene::QueryParser->new({ 56 analyzer => Plucene::Analysis::SimpleAnalyzer->new(),56 analyzer => Plucene::Analysis::SimpleAnalyzer->new(), 57 57 default => $default 58 58 }); … … 77 77 return Plucene::Index::Writer->new( 78 78 $self->_dir, 79 Plucene::Analysis::SimpleAnalyzer->new,79 Plucene::Analysis::SimpleAnalyzer->new, 80 80 -e catfile($self->_dir, "segments") ? 0 : 1 81 81 ); … … 89 89 } 90 90 local $Plucene::QueryParser::DefaultOperator = "AND" 91 unless ( $and_or and lc($and_or) eq "or" );91 unless ( $and_or and lc($and_or) eq "or" ); 92 92 my @docs; 93 93 my $searcher = $self->_searcher; … … 118 118 119 119 sub index_node { 120 my ($self, $node, $content) = @_;121 my $writer = $self->_writer;122 my $doc = Plucene::Document->new;123 my $fuzzy = $self->canonicalise_title( $node );124 $doc->add( Plucene::Document::Field->Text( "content", join( " ", $node, $content ) ) );125 $doc->add( Plucene::Document::Field->Text( "fuzzy", $fuzzy ) );126 $doc->add( Plucene::Document::Field->Text( "title", $node ) );127 $doc->add(Plucene::Document::Field->Keyword(id => $node));128 $doc->add(Plucene::Document::Field->UnStored('text' => join( " ", $node, $content )));129 $writer->add_document($doc);120 my ($self, $node, $content) = @_; 121 my $writer = $self->_writer; 122 my $doc = Plucene::Document->new; 123 my $fuzzy = $self->canonicalise_title( $node ); 124 $doc->add( Plucene::Document::Field->Text( "content", join( " ", $node, $content ) ) ); 125 $doc->add( Plucene::Document::Field->Text( "fuzzy", $fuzzy ) ); 126 $doc->add( Plucene::Document::Field->Text( "title", $node ) ); 127 $doc->add(Plucene::Document::Field->Keyword(id => $node)); 128 $doc->add(Plucene::Document::Field->UnStored('text' => join( " ", $node, $content ))); 129 $writer->add_document($doc); 130 130 } 131 131 … … 133 133 134 134 sub indexed { 135 my ($self, $id) = @_;136 my $term = Plucene::Index::Term->new({ field => 'id', text => $id });137 return $self->_reader->doc_freq($term);135 my ($self, $id) = @_; 136 my $term = Plucene::Index::Term->new({ field => 'id', text => $id }); 137 return $self->_reader->doc_freq($term); 138 138 } 139 139 140 140 sub delete_node { 141 my ($self, $id) = @_;142 my $reader = $self->_reader;143 $reader->delete_term(144 Plucene::Index::Term->new({ field => "id", text => $id }));145 $reader->close;141 my ($self, $id) = @_; 142 my $reader = $self->_reader; 143 $reader->delete_term( 144 Plucene::Index::Term->new({ field => "id", text => $id })); 145 $reader->close; 146 146 } 147 147
