Apache::Solr::Result - Apache Solr (Lucene) result container
# All operations return a ::Result object my $result = $solr->select(...); $result->success or die $result->solrError; # error reported by Solr $result->success or die $result->errors; # any error caught by this object if($result) # same as if($result->success) # Lots of trace information included $result->showTimings; # ::Document containing the requested fields from a select() search my $doc1 = $result->selected(0); # ::Document containing the highlight info from a selected document my $hl1 = $result->highlighted($doc1); # Some operations have helper methods my $result = $solr->queryTerm(...); print Dumper $result->terms;
-Option --Default core undef endpoint <required> params <required> request undef response undef sequential false
[1.06] By setting this, you indicate that you will process the documents in (numeric) sequential order; that you have no intention to go back to a lower number. This implies that those cached results can be cleaned-up in the client early, reducing memory consumption.
However: you are allowed to go back to lower numbers, with the penalty of a repeat of a message exchange between this client and the database.
[0.95] May return the Apache::Solr object which created this result.
Number of seconds used to receive a decoded answer.
The URI where the request is sent to.
All errors collected by this object into one string.
List of (expanded) parameters used to call the solr server.
[1.06] Shows whether the results are only read in numeric order.
Elapse (as reported by the server) to handle the request. In seconds!
The timestamp of the moment the call has started, including the creation of the message to be sent.
Returns true if the command has successfully completed.
example:
my $result = $sorl->commit; $result->success or die; $result or die; # same, via overloading $solr->commit or die; # same, also overloading
Return information which relates to the selected $document.
[0.95] Produces the next document, or undef when there are none left. [1.06] Use selected() or search parameter start to give a starting point. [1.06] The %options are passed to selected().
undef
start
%options
my $result = $solr->select(q => ...); while(my $doc = $result->nextSelected) { my $hl = $result->highlighted($doc); }
Returns the number of selected documents, as result of a Apache::Solr::select() call. Probably many of those documents are not loaded (yet).
print $result->nrSelected, " results\n"; for(my $docnr = 0; $docnr < $result->nrSelected; $docnr++) { my $doc = $result->selected($docnr); ... } # easier: while(my $doc = $result->nextSelected) ...
Returns information about the query by Apache::Solr::select() on position $rank (count starts at 0!) Returned is an Apache::Solr::Document object.
The first request will take a certain number of "rows". This routine will automatically collect more of the selected answers, when you address results outside the first "page" of "rows". The results of these other requests are cached as well.
This method has no %options at the moment.
my $r = $solr->select(rows => 10, ...); $r or die $r->errors; if(my $last = $r->selected(9)) {...} my $doc = $r->selected(11); # auto-request more
Returns the results of a 'terms' query (see Apache::Solr::queryTerms()), which is a HASH. When $terms are specified, a new table is set.
In Solr XML (at least upto v4.0) the results are presented as lst, not arr So: their sort order is lost.
[1.07] Returns the page size of all of the full returned pages. The last page is probably smaller.
The selected() documents are retreived in pages, each of size fullPageSize() (although the last page may be shorter). Each page is separately downloaded when used. Each page is also a full Apache::Solr::Result object with request, response, and timing information.
Apache::Solr::Result
Query the database for the next page of results.
[1.07] DEPRECATED. Use fullPageSize().
Print timing informat to the $fh, by default the selected file-handle (probably STDOUT).
This module is part of Apache-Solr distribution version 1.09, built on December 06, 2022. Website: http://perl.overmeer.net/CPAN/
Copyrights 2012-2022 by [Mark Overmeer]. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/
To install Apache::Solr, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Apache::Solr
CPAN shell
perl -MCPAN -e shell install Apache::Solr
For more information on module installation, please visit the detailed CPAN module installation guide.