-
-};
+ if (! $search) {
+ $v->{status} = 'Enter search query';
+ return;
+ }
-my $node = new Search::Estraier::Node(%{ $config->{estraier} });
+ if (! $page) {
+ $v->{status} = 'Error: no page number?';
+ return;
+ }
+
+ $search = join(" AND ", split(/\s+/, $search)) unless ($search =~ m/(?:AND|OR|\[|\])/);
+ $v->{search} = $search || '';
+
+ $v->{page} = $page;
-my $o = $q->param('index') || 0;
-my $search = $q->param('q');
-$search = join(" AND ", split(/\s+/, $search)) unless ($search =~ m/(?:AND|OR|\[|\])/);
-
-my $on_page = 30;
-my $skip = $o * $on_page;
-
-my $cond = new Search::Estraier::Condition;
-$cond->set_phrase( $search );
-$cond->set_max( $on_page );
-$cond->set_skip( $skip );
-
-my $nres = $node->search($cond, ( $config->{estraier}->{depth} || 0 ) );
-
-my $max = 0;
-
-if (defined($nres)) {
- $max = $nres->hits;
- my $time = $nres->hint('TIME');
- print qq{
-
- ";
+ $out .= '' . + '+ return ($out,$json); -
' . $rdoc->attr('@title') . '
' . + '' . html_snippet( $rdoc->snippet ) . '
' . + '' . attr_regex( $rdoc, 'source' ) . '
'; + my $uri = attr_regex( $rdoc, '@uri' ); + $out .= + qq{$uri } . + attr_regex( $rdoc, '@mdate' ) . + ' [' . ( $skip + $i + 1 ) . ']'; + } - print "", $rdoc->attr('@title'),"
\n"; - print "", attr_regex( $rdoc, 'source' ),"
\n"; - print "", html_snippet( $rdoc->snippet ),"
\n"; - my $uri = attr_regex( $rdoc, '@uri' ); - print qq{$uri }, - attr_regex( $rdoc, '@mdate' ); - print " [", $skip + $i + 1, "]"; - print ""; + } else { + $out .= 'error: ' . $node->status; } -} else { - die "error: ", $node->status,"\n"; -} + $json = ''; -print qq{ - -