warn "# commit index";
}
+sub search {
+ my ( $self, $offset, $on_page, $sort, $q, $shareid, $backup_from, $backup_to, $files_from, $files_to ) = @_;
+
+ warn "# search $offset/$on_page [$q] shareid: $shareid backup: $backup_from - $backup_to files: $files_from - $files_to";
+
+ my $sort_field = (split(/_/,$sort,2))[0];
+
+ my $rules = [ KinoSearch::Search::SortRule->new( type => 'score' ) ];
+ $rules->[0] = KinoSearch::Search::SortRule->new( field => $sort_field, reverse => $sort =~ m/_a$/ ? 0 : 1 ) if $sort_field;
+
+ my $sort_spec = KinoSearch::Search::SortSpec->new( rules => $rules );
+
+# $q =~ s/(.)/$1 /g;
+ my $hits = $self->{searcher}->hits(
+ query => $q,
+ sort_spec => $sort_spec,
+ );
+
+
+ warn "# ", $hits->total_hits, " hits for $q\n";
+
+ return (0,[]) if $hits->total_hits == 0;
+
+ my $results;
+ while ( my $hit = $hits->next ) {
+warn "XXX ",dump($hit);
+ push @$results, $hit;
+ }
+
+ return ( $hits->total_hits, $results );
+}
+
1;