NAME
Apache::Solr::Document - Apache Solr (Lucene) Document container
SYNOPSIS
# create and upload a new document
my $doc = Apache::Solr::Document->new(...);
$solr->addDocument($doc, commit => 1, overwrite => 1)
# take first result
my $results = $solr->select
( q => 'text:gold' # search text-fields for 'gold'
, hl => { field => 'content' } # highlight 'gold' in content'
);
my $doc = $results->selected(3); # fourth answer
print $doc->rank; # 3
print $doc->field('subject')->{content};
print $doc->content('subject'); # same
print $doc->_subject; # same, via autoload (mind the '_'!)
my $hl = $results->highlighted($doc); # another ::Doc object
print $hl->_content; # highlighted content
DESCRIPTION
This object wraps-up an document: a set of fields. Either, this is a document which has to be added to the Solr database using Apache::Solr::addDocument(), or the subset of information as returned by Apache::Solr::select().
METHODS
Constructors
- Apache::Solr::Document->fromResult(HASH, RANK)
-
Create a document object from data received as result of a select search.
- Apache::Solr::Document->new(OPTIONS)
-
-Option--Default boost 1.0 fields {}
- boost => FLOAT
-
Boost the preference for hits in this document.
- fields => HASH|ARRAY
-
Passed to addFields().
Accessors
- $obj->addField(NAME, CONTENT, OPTIONS)
-
CONTENT can be specified as SCALAR (reference) for performance. In that case, a reference to the original will be kept. When
undef
, the field gets ignored.-Option--Default boost 1.0
- $obj->addFields(HASH|ARRAY, OPTIONS)
-
The HASH or ARRAY containing NAME/CONTENT pairs. The OPTIONS are passed addField() as OPTIONS.
- $obj->boost()
-
Boost value for all fields in the document.
- $obj->content(NAME)
-
Returns the content of the first field with NAME.
- $obj->field(NAME)
-
Returns the first field with NAME (or undef). This is a HASH.
- $obj->fieldNames()
-
All used unique names.
- $obj->fields([NAME])
-
Returns a list of HASHs, each containing at least a
name
and acontent
. Each HASH will also contain aboost
value. When a NAME is provided, only those fields are returned. - $obj->rank()
-
Only defined when the document contains results of a search: the ranking. A value of '0' means "best".
- $obj->uniqueId()
-
Returns the value of the unique key associated with the document
id
. Only the server knowns which field is the unique one. If it differs from the usualid
, you have to set it via global value$Apache::Solr::uniqueKey
Helpers
SEE ALSO
This module is part of Apache-Solr distribution version 0.92, built on December 06, 2012. Website: http://perl.overmeer.net
LICENSE
Copyrights 2012 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://www.perl.com/perl/misc/Artistic.html