5 # http://wiki.apache.org/couchdb/ExternalProcesses
7 use KinoSearch::Search::IndexSearcher;
9 use Data::Dump qw(dump);
13 my $searcher = KinoSearch::Search::IndexSearcher->new(
17 open(my $log, '>>', '/tmp/couchdb-external-kinosearch.log');
21 my $request = decode_json($_);
22 print $log "<<< $_\n";
29 if ( my $q = $request->{query}->{q} ) {
31 my $hits = $searcher->hits( query => $q );
33 $response->{json}->{total_hits} = $hits->total_hits;
35 while ( my $hit = $hits->next ) {
36 push @{ $response->{json}->{hits} }, {
39 score => $hit->get_score,
44 $response->{json}->{error} = "no query found";
47 my $json = encode_json($response);
49 print $log ">>> $json\n";