152 |
sub setup_site { |
sub setup_site { |
153 |
my $self = shift; |
my $self = shift; |
154 |
|
|
155 |
my $site = shift || $self->{defaultnode}; |
my $site = shift; |
156 |
|
if (! $site) { |
157 |
|
$site = $self->{defaultnode}; |
158 |
|
$self->{log}->warn("using default site $site"); |
159 |
|
} |
160 |
|
|
161 |
$self->{log}->fatal("setup_site can't find site or defaultnode") unless ($site); |
$self->{log}->fatal("setup_site can't find site or defaultnode") unless ($site); |
162 |
|
|
163 |
my $url = $self->{masterurl} . '/node/' . $site; |
my $url = $self->{masterurl} . '/node/' . $site; |
164 |
$self->{est_node}->set_url( $url ); |
$self->{est_node}->set_url( $url ); |
165 |
$self->{log}->debug("setup_site $site using $url"); |
$self->{log}->debug("setup_site '$site' using $url"); |
166 |
} |
} |
167 |
|
|
168 |
=head2 search |
=head2 search |
215 |
} |
} |
216 |
$args->{depth} ||= 0; |
$args->{depth} ||= 0; |
217 |
|
|
218 |
$log->debug("searching for maximum $args->{max} results using depth $args->{depth} phrase: ", $query || '[none]'); |
$log->debug("searching " . $self->{est_node}->{url} . " max: $args->{max} depth: $args->{depth} phrase: " . ($query || '[none]') ); |
219 |
|
|
220 |
# |
# |
221 |
# construct condition for Hyper Estraier |
# construct condition for Hyper Estraier |
445 |
|
|
446 |
=cut |
=cut |
447 |
|
|
448 |
|
my $nodes_list; |
449 |
|
|
450 |
sub list_nodes { |
sub list_nodes { |
451 |
my $self = shift; |
my $self = shift; |
452 |
|
|
456 |
|
|
457 |
$self->setup_site( $site ); |
$self->setup_site( $site ); |
458 |
|
|
459 |
|
# cache? |
460 |
|
return @{ $nodes_list->{$site} } if ($nodes_list->{$site} && ref($nodes_list->{$site} eq 'ARRAY')); |
461 |
|
|
462 |
my @nodes; |
my @nodes; |
463 |
|
|
464 |
if ($self->{est_node}->doc_num > 0) { |
if ($self->{est_node}->doc_num > 0) { |
498 |
|
|
499 |
$self->{log}->dumper( \@nodes, 'nodes' ); |
$self->{log}->dumper( \@nodes, 'nodes' ); |
500 |
|
|
501 |
|
$nodes_list->{$site} = \@nodes; |
502 |
|
|
503 |
return @nodes; |
return @nodes; |
504 |
} |
} |
505 |
|
|