854 |
|
|
855 |
Remove a registrated document using it's uri |
Remove a registrated document using it's uri |
856 |
|
|
857 |
$node->out_doc_by_uri( 'file:///document_url' ) or "can't remove document"; |
$node->out_doc_by_uri( 'file:///document/uri/42' ) or "can't remove document"; |
858 |
|
|
859 |
Return true on success or false on failture. |
Return true on success or false on failture. |
860 |
|
|
915 |
|
|
916 |
Retreive document |
Retreive document |
917 |
|
|
918 |
my $doc = $node->get_doc_by_uri( 'file:///document_uri' ) or die "can't get document"; |
my $doc = $node->get_doc_by_uri( 'file:///document/uri/42' ) or die "can't get document"; |
919 |
|
|
920 |
Return true on success or false on failture. |
Return true on success or false on failture. |
921 |
|
|
946 |
|
|
947 |
Retreive document |
Retreive document |
948 |
|
|
949 |
my $keywords = $node->etch_doc_by_uri( 'file:///document_uri' ) or die "can't etch document"; |
my $keywords = $node->etch_doc_by_uri( 'file:///document/uri/42' ) or die "can't etch document"; |
950 |
|
|
951 |
Return true on success or false on failture. |
Return true on success or false on failture. |
952 |
|
|
959 |
} |
} |
960 |
|
|
961 |
|
|
962 |
|
=head2 uri_to_id |
963 |
|
|
964 |
|
Get ID of document specified by URI |
965 |
|
|
966 |
|
my $id = $node->uri_to_id( 'file:///document/uri/42' ); |
967 |
|
|
968 |
|
=cut |
969 |
|
|
970 |
|
sub uri_to_id { |
971 |
|
my $self = shift; |
972 |
|
my $uri = shift || return; |
973 |
|
return $self->_fetch_doc( uri => $uri, path => '/uri_to_id', chomp_resbody => 1 ); |
974 |
|
} |
975 |
|
|
976 |
|
|
977 |
=head2 _fetch_doc |
=head2 _fetch_doc |
978 |
|
|
979 |
Private function used for implementing of C<get_doc>, C<get_doc_by_uri>, |
Private function used for implementing of C<get_doc>, C<get_doc_by_uri>, |
980 |
C<etch_doc>, C<etch_doc_by_uri>. |
C<etch_doc>, C<etch_doc_by_uri>. |
981 |
|
|
982 |
my $doc = $node->fetch_doc( id => 42, etch => 1 ); |
# this will decode received draft into Search::Estraier::Document object |
983 |
my $doc = $node->fetch_doc( uri => 'file://uri/42' ); |
my $doc = $node->_fetch_doc( id => 42 ); |
984 |
|
my $doc = $node->_fetch_doc( uri => 'file:///document/uri/42' ); |
985 |
|
|
986 |
|
# to extract keywords, add etch |
987 |
|
my $doc = $node->_fetch_doc( id => 42, etch => 1 ); |
988 |
|
my $doc = $node->_fetch_doc( uri => 'file:///document/uri/42', etch => 1 ); |
989 |
|
|
990 |
|
# more general form which allows implementation of |
991 |
|
# uri_to_id |
992 |
|
my $id = $node->_fetch_doc( |
993 |
|
uri => 'file:///document/uri/42', |
994 |
|
path => '/uri_to_id', |
995 |
|
chomp_resbody => 1 |
996 |
|
); |
997 |
|
|
998 |
=cut |
=cut |
999 |
|
|
1004 |
|
|
1005 |
my ($arg, $resbody); |
my ($arg, $resbody); |
1006 |
|
|
1007 |
my $path = '/get_doc'; |
my $path = $a->{path} || '/get_doc'; |
1008 |
$path = '/etch_doc' if ($a->{etch}); |
$path = '/etch_doc' if ($a->{etch}); |
1009 |
|
|
1010 |
if ($a->{id}) { |
if ($a->{id}) { |
1019 |
my $rv = $self->shuttle_url( $self->{url} . $path, |
my $rv = $self->shuttle_url( $self->{url} . $path, |
1020 |
'application/x-www-form-urlencoded', |
'application/x-www-form-urlencoded', |
1021 |
$arg, |
$arg, |
1022 |
$resbody, |
\$resbody, |
1023 |
); |
); |
1024 |
|
|
1025 |
return if ($rv != 200); |
return if ($rv != 200); |
1032 |
$self->{kwords}->{$k} = $v if ($v); |
$self->{kwords}->{$k} = $v if ($v); |
1033 |
} |
} |
1034 |
return $self->{kwords}; |
return $self->{kwords}; |
1035 |
|
} elsif ($a->{chomp_resbody}) { |
1036 |
|
return unless (defined($resbody)); |
1037 |
|
chomp($resbody); |
1038 |
|
return $resbody; |
1039 |
} else { |
} else { |
1040 |
return new Search::Estraier::Document($resbody); |
return new Search::Estraier::Document($resbody); |
1041 |
} |
} |