/usr/lib/perl5/Search/Xapian/Document.pm is in libsearch-xapian-perl 1.2.8.0-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | package Search::Xapian::Document;
use 5.006;
use strict;
use warnings;
use Carp;
require DynaLoader;
our @ISA = qw(DynaLoader);
# Preloaded methods go here.
# In a new thread, copy objects of this class to unblessed, undef values.
sub CLONE_SKIP { 1 }
use overload '=' => sub { $_[0]->clone() },
'fallback' => 1;
sub clone() {
my $self = shift;
my $class = ref( $self );
my $copy = new2( $self );
bless $copy, $class;
return $copy;
}
sub new() {
my $class = shift;
my $document;
my $invalid_args;
if( scalar(@_) == 0 ) {
$document = new1();
} elsif( scalar(@_) == 1 and ref( $_[1] ) eq $class ) {
$document = new2(@_);
} else {
$invalid_args = 1;
}
if( $invalid_args ) {
Carp::carp( "USAGE: $class->new(), $class->new(\$document)" );
exit;
}
bless $document, $class;
return $document;
}
1;
__END__
=head1 NAME
Search::Xapian::Document - Document object
=head1 DESCRIPTION
This class represents a document in a Xapian database.
=head1 METHODS
=over 4
=item new
Class constructor.
=item clone
Return a clone of this class.
=item get_value (value_no)
Returns the value by the assigned number.
=item add_value <value_no> <value>
Set a value by value number.
=item remove_value <value_no>
Removes the value with the assigned number.
=item clear_values
Clear all set values.
=item get_data
Return all document data.
=item set_data <data>
Set all document data. This can be anything you like.
=item add_posting <term> <position> [<weight>]
Adds a term at the given position. weight defaults to 1.
=item remove_posting <term> <position> [<weight]
Removes a term from the given position. weight defaults to 1.
=item add_term <term> [<weight>]
Adds a term without positional information. weight defaults to 1.
=item add_boolean_term <term>
Adds a term intended for boolean filtering (its wdf contribution will be 0).
=item remove_term <term>
Removes a term without positional information.
=item clear_terms
Remove all terms from the document.
=item termlist_count
Returns number of terms in the document.
=item termlist_begin
Iterator for the terms in this document. Returns a
L<Search::Xapian::TermIterator>.
=item termlist_end
Equivalent end iterator for termlist_begin(). Returns a
L<Search::Xapian::TermIterator>.
=item values_count
Return number of defined values for this document.
=item values_begin
Return a L<Search::Xapian::ValueIterator> pointing at the start of the
values in this document.
=item values_end
Return a L<Search::Xapian::ValueIterator> pointing at the end of the
values in this document.
=item get_description
Return a description of this object.
=back
=head1 SEE ALSO
L<Search::Xapian::Database>
=cut
|