2 # =============================================================================
3 # $Id: 05_search.t,v 1.3 2003-07-26 16:27:46 pop Exp $
6 # =============================================================================
11 push (@INC,'demo','blib/lib','blib/arch');
17 use Test::More tests => 12;
19 # ----------------------------------------------------------------------------
20 # Session opening and closing
23 IDZebra::logFile("test.log");
24 use_ok('IDZebra::Session');
29 # ----------------------------------------------------------------------------
30 # Session opening and closing
31 my $sess = IDZebra::Session->open(configFile => 'demo/zebra.cfg',
32 groupName => 'demo2');
33 isa_ok($sess,"IDZebra::Session");
35 # ----------------------------------------------------------------------------
39 my ($hits, $expected);
42 my $rs1 = $sess->search(cqlmap => 'demo/cql.map',
45 databases => [qw(demo1)]);
47 $expected = $filecount;
49 ok(($hits == $expected), "CQL search - found $hits/$expected records");
52 $sess->databases('demo1', 'demo2');
53 my @dblist = $sess->databases;
54 ok(($#dblist == 1), "Select multiple databases");
58 my $rs2 = $sess->search(cqlmap => 'demo/cql.map',
60 $expected = $filecount * 2;
62 ok(($hits == $expected), "CQL search - found $hits/$expected records");
65 my $rs3 = $sess->search(cqlmap => 'demo/cql.map',
66 pqf => '@attr 1=4 IDZebra');
67 $expected = $filecount * 2;
69 ok(($hits == $expected), "RPN search - found $hits/$expected records");
72 my $rs4 = $sess->search(pqf => '@attr 1=4 @and IDZebra Session');
75 ok(($hits == $expected), "RPN search - found $hits/$expected records");
77 my @terms = $rs4->terms();
78 ok(($#terms == 1), "Got 2 terms in RPN expression");
80 foreach my $t (@terms) {
81 if ($t->{term} eq 'IDZebra') {
82 ok(($t->{count} = $filecount*2), "Term IDZebra ($t->{count})");
85 elsif ($t->{term} eq 'Session') {
86 ok(($t->{count} = 2), "Term Session ($t->{count})");
89 ok(0,"Invalid term $t->{term}");
93 ok (($cc == 2), "Got 2 terms for RS");
97 # More specific search
100 # ----------------------------------------------------------------------------