move loading of search module into BackupPC::Search
[BackupPC.git] / lib / BackupPC / Search / KinoSearch.pm
index d7f7868..8b9c51d 100644 (file)
@@ -15,9 +15,14 @@ sub new {
        my ( $class ) = @_;
 
        my $schema = KinoSearch::Plan::Schema->new;
+
+
+       my $case_folder  = KinoSearch::Analysis::CaseFolder->new;
+       my $tokenizer    = KinoSearch::Analysis::Tokenizer->new;
        my $polyanalyzer = KinoSearch::Analysis::PolyAnalyzer->new(
-           language => 'en',
+               analyzers => [ $case_folder, $tokenizer ], 
        );
+
        my $ft_type = KinoSearch::Plan::FullTextType->new(
            analyzer => $polyanalyzer,
        );
@@ -36,7 +41,7 @@ sub new {
        / );
 
        $schema->spec_field( name => $_, type => $string_type ) foreach ( qw/
-               _uri filepath hname sname
+               _uri _file_path_split filepath hname sname
        /);
 
 #      $schema->spec_field( name => '_doc', type => $blob_type );
@@ -77,9 +82,12 @@ sub exists {
 sub add_doc {
        my ($self,$row) = @_;
 
-       warn "XXX ",dump($row);
-
        $row->{_uri} = $row->{hname} . ':' . $row->{sname} . '#' . $row->{backupnum} . ' ' . $row->{filepath};
+       my $path = $row->{filepath};
+       $path =~ s/(.)/$1 /g; # XXX our tokenize
+       $row->{_file_path_split} = $path;
+
+       warn "XXX ",dump($row) if $ENV{DEBUG};
 
        $self->{indexer}->add_doc( $row );