X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=perl%2Flib%2FIDZebra%2FResultset.pm;h=28db014cda01601621acda30e914fba04df34d6e;hb=03e275196b3f82415a965d0bdd6bfa52a15d7446;hp=7408d353280e791cbfe3350d6a81a934dc9a48dc;hpb=87c62083368d018a7d159fcfd6fc1c930b02b7e3;p=idzebra-moved-to-github.git diff --git a/perl/lib/IDZebra/Resultset.pm b/perl/lib/IDZebra/Resultset.pm index 7408d35..28db014 100644 --- a/perl/lib/IDZebra/Resultset.pm +++ b/perl/lib/IDZebra/Resultset.pm @@ -1,4 +1,4 @@ -# $Id: Resultset.pm,v 1.9 2003-03-06 23:32:10 pop Exp $ +# $Id: Resultset.pm,v 1.10 2003-07-26 16:27:46 pop Exp $ # # Zebra perl API header # ============================================================================= @@ -12,7 +12,7 @@ BEGIN { use IDZebra::Logger qw(:flags :calls); use Scalar::Util qw(weaken); use Carp; - our $VERSION = do { my @r = (q$Revision: 1.9 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; + our $VERSION = do { my @r = (q$Revision: 1.10 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; our @ISA = qw(IDZebra::Logger); } @@ -32,6 +32,7 @@ sub new { $self->{odr_stream} = IDZebra::odr_createmem($IDZebra::ODR_DECODE); $self->{name} = $args{name}; + $self->{query} = $args{query}; $self->{recordCount} = $args{recordCount}; $self->{errCode} = $args{errCode}; $self->{errString} = $args{errString}; @@ -58,6 +59,31 @@ sub errString { return ($self->{errCode}); } +sub terms { + use Data::Dumper; + my ($self) = @_; + my $count = 0; my $type = 0; my $len = 0; + my $tc = IDZebra::resultSetTerms($self->{session}{zh},$self->{name}, + 0, \$count, \$type, "\0", \$len); + + logf (LOG_LOG,"Got $tc terms"); + + + my @res = (); + for (my $i=0; $i<$tc; $i++) { + my $len = 1024; + my $t = {term => "\0" x $len, count => 0, type => 0}; + my $stat = IDZebra::resultSetTerms($self->{session}{zh},$self->{name}, + $i, \$t->{count}, \$t->{type}, + $t->{term}, \$len); + $t->{term} = substr($t->{term}, 0, $len); + logf (LOG_LOG, + "term $i: type $t->{type}, '$t->{term}' ($t->{count})"); + push (@res, $t); + } + return (@res); +} + # ============================================================================= sub DESTROY { my $self = shift;