7 use CGI::Carp qw/fatalsToBrowser/;
15 print qq|<pre>|, YAML::Dump( @_ ), qq|</pre>|;
18 my $path = $ENV{PATH_INFO};
20 $dir =~ s{/[^/]+.cgi}{};
22 my $config = YAML::LoadFile( "$dir/$path/config.yml" );
24 my $database = (keys %{ $config->{databases} })[0];
25 die "$database not in $path" unless $path =~ m{\Q$database\E};
27 my $estraier = YAML::LoadFile( "$dir/../var/estraier/$database.yaml" );
29 my $db = $config->{databases}->{$database};
31 my @attr = keys %{ $estraier->{attr} }; # FIXME replace with real gnerated lookup
35 -title => $db->{name},
36 -style => '../../style.css',
39 qq|<div id=description>|, $db->{description}, qq|</div>|,
46 textfield( -name => 'search' ),
52 if ( my $search = param('search') ) {
54 print qq|<div id="results">search: $search|;
56 my $node = Search::Estraier::Node->new(
57 url => $config->{hyperestraier}->{masterurl} . '/node/' . $database,
61 my $cond = Search::Estraier::Condition->new;
62 $cond->set_phrase( $search );
63 my $nres = $node->search( $cond, 0 );
66 my $no_results = "No results for search '%s'";
67 printf qq|<div class="error">$no_results</a>|, $search;
70 foreach my $i ( 1 .. $nres->doc_num ) {
71 my $rdoc = $nres->get_doc( $i - 1 );
73 print qq|<div><label>$_</label><span class=$_>|, $rdoc->attr( $_ ), qq|</span></div>|
82 dump_yaml( $estraier );