/[webpac2]/trunk/lib/WebPAC/Search/Estraier.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/WebPAC/Search/Estraier.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 156 by dpavlin, Sat Nov 26 14:37:33 2005 UTC revision 216 by dpavlin, Mon Dec 5 17:47:45 2005 UTC
# Line 13  WebPAC::Search::Estraier - search Hyper Line 13  WebPAC::Search::Estraier - search Hyper
13    
14  =head1 VERSION  =head1 VERSION
15    
16  Version 0.03  Version 0.05
17    
18  =cut  =cut
19    
20  our $VERSION = '0.03';  our $VERSION = '0.05';
21    
22  =head1 SYNOPSIS  =head1 SYNOPSIS
23    
# Line 31  L<WebPAC::Output::Estraier>. Line 31  L<WebPAC::Output::Estraier>.
31  Connect to Hyper Estraier index using HTTP  Connect to Hyper Estraier index using HTTP
32    
33   my $est = new WebPAC::Search::Estraier(   my $est = new WebPAC::Search::Estraier(
34          url => 'http://localhost:1978/node/webpac2',          masterurl => 'http://localhost:1978/',
35            database => 'webpac2',
36          user => 'admin',          user => 'admin',
37          passwd => 'admin',          passwd => 'admin',
38          encoding => 'iso-8859-2',          encoding => 'iso-8859-2',
# Line 42  Options are: Line 43  Options are:
43    
44  =over 4  =over 4
45    
46  =item url  =item maseterurl
47    
48  URI to C<estmaster> node  URI to C<estmaster> node
49    
50    =item database
51    
52    name of C<estmaster> node
53    
54  =item user  =item user
55    
56  C<estmaster> user with read rights  C<estmaster> user with read rights
# Line 76  sub new { Line 81  sub new {
81    
82          my $log = $self->_get_logger;          my $log = $self->_get_logger;
83    
84          foreach my $p (qw/url user passwd/) {          foreach my $p (qw/masterurl user passwd/) {
85                  $log->logdie("need $p") unless ($self->{$p});                  $log->logdie("need $p") unless ($self->{$p});
86          }          }
87    
88            my $url = $self->{masterurl} . '/node/' . $self->{database};
89            $self->{url} = $url;
90    
91          $log->info("opening Hyper Estraier index $self->{'url'} as $self->{'user'}");          $log->info("opening Hyper Estraier index $self->{'url'} as $self->{'user'}");
92    
93          $self->{'db'} = HyperEstraier::Node->new($self->{'url'});          $self->{'db'} = HyperEstraier::Node->new($self->{'url'});
# Line 110  Locate items in index Line 118  Locate items in index
118          max => 100,          max => 100,
119          options => $HyperEstraier::Condition::SURE,          options => $HyperEstraier::Condition::SURE,
120          page => 42,          page => 42,
121            depth => 0,
122    );    );
123    
124  Options are close match to Hyper Estraier API, except C<get_attr> which defines  Options are close match to Hyper Estraier API, except C<get_attr> which defines
# Line 154  sub search { Line 163  sub search {
163    
164          my $max = $args->{max} || 7;          my $max = $args->{max} || 7;
165          my $page = $args->{page} || 1;          my $page = $args->{page} || 1;
166            if ($page < 1) {
167                    $log->warn("page number $page < 1");
168                    $page = 1;
169            }
170    
171          $cond->set_max( $page * $max );          $cond->set_max( $page * $max );
172    
173          my $result = $self->{db}->search($cond, 0) ||          my $result = $self->{db}->search($cond, ( $args->{depth} || 0 )) ||
174                  $log->die("can't search for ", sub { Dumper( $args ) });                  $log->die("can't search for ", sub { Dumper( $args ) });
175    
176          my $hits = $result->doc_num;          my $hits = $result->doc_num;

Legend:
Removed from v.156  
changed lines
  Added in v.216

  ViewVC Help
Powered by ViewVC 1.1.26