projects
/
BackupPC.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add _file_path_split
[BackupPC.git]
/
lib
/
BackupPC
/
Search
/
KinoSearch.pm
diff --git
a/lib/BackupPC/Search/KinoSearch.pm
b/lib/BackupPC/Search/KinoSearch.pm
index
d7f7868
..
8b9c51d
100644
(file)
--- a/
lib/BackupPC/Search/KinoSearch.pm
+++ b/
lib/BackupPC/Search/KinoSearch.pm
@@
-15,9
+15,14
@@
sub new {
my ( $class ) = @_;
my $schema = KinoSearch::Plan::Schema->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(
my $polyanalyzer = KinoSearch::Analysis::PolyAnalyzer->new(
- language => 'en',
+ analyzers => [ $case_folder, $tokenizer ],
);
);
+
my $ft_type = KinoSearch::Plan::FullTextType->new(
analyzer => $polyanalyzer,
);
my $ft_type = KinoSearch::Plan::FullTextType->new(
analyzer => $polyanalyzer,
);
@@
-36,7
+41,7
@@
sub new {
/ );
$schema->spec_field( name => $_, type => $string_type ) foreach ( qw/
/ );
$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 );
/);
# $schema->spec_field( name => '_doc', type => $blob_type );
@@
-77,9
+82,12
@@
sub exists {
sub add_doc {
my ($self,$row) = @_;
sub add_doc {
my ($self,$row) = @_;
- warn "XXX ",dump($row);
-
$row->{_uri} = $row->{hname} . ':' . $row->{sname} . '#' . $row->{backupnum} . ' ' . $row->{filepath};
$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 );
$self->{indexer}->add_doc( $row );