Apache-Solr
view release on metacpan or search on metacpan
t/31sequential.t view on Meta::CPAN
#!/usr/bin/perl
use warnings;
use strict;
use lib 'lib';
use Test::More;
my $server;
use Data::Dumper;
$Data::Dumper::Indent = 1;
$Data::Dumper::Quotekeys = 0;
BEGIN {
$server = $ENV{SOLR_TEST_SERVER}
or plan skip_all => "no SOLR_TEST_SERVER provided";
$server .= '/markov';
}
my $rows_per_page = 7;
my @create_ids = 'A'..'Z';
require_ok 'Apache::Solr';
require_ok 'Apache::Solr::Document';
my $solr = Apache::Solr->new(server => $server);
ok defined $solr, 'Created client';
### reset the database
my $r0 = $solr->delete(id => \@create_ids);
ok $r0->success, 'Delete succeeded';
#warn Dumper $r0;
### Create some documents
my @docs1 = map Apache::Solr::Document->new(fields =>
[ id => $_
, subject => "subject $_"
, content => "<html>Document $_"
, content_type => 'text/html'
]), @create_ids;
ok $solr->addDocument(\@docs1, commit => 1, overwrite => 1), 'Created docs';
### Find all documents
my $t2 = $solr->select({ sequential => 1 }, rows => $rows_per_page, q => 'text:Document');
#warn Dumper $t2->decoded;
ok $t2, 'Searched for all docs';
isa_ok $t2, 'Apache::Solr::Result', '...';
cmp_ok $t2->nrSelected, '==', scalar @create_ids, '... found all documents';
cmp_ok $t2->fullPageSize, '==', $rows_per_page, "... page has $rows_per_page rows";
my $pageset = $t2->{ASR_pages}; # internal table
cmp_ok scalar @$pageset, '==', 1, '... only first page loaded for size';
### Get first document
my $d2 = $t2->selected(0);
#warn Dumper $d2;
isa_ok $d2, 'Apache::Solr::Document', 'Inspect first answer';
is $d2->rank, 0, '... rank 0';
( run in 0.695 second using v1.01-cache-2.11-cpan-39bf76dae61 )