/[webpac2]/trunk/lib/WebPAC/Output/Riak.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/WebPAC/Output/Riak.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1355 by dpavlin, Sat Nov 13 01:17:09 2010 UTC revision 1357 by dpavlin, Sat Nov 13 15:29:18 2010 UTC
# Line 8  __PACKAGE__->mk_accessors(qw( Line 8  __PACKAGE__->mk_accessors(qw(
8          input          input
9          url          url
10          database          database
11            bucket
12  ));  ));
13    
14  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
# Line 16  use Net::Riak; Line 17  use Net::Riak;
17    
18  =head1 NAME  =head1 NAME
19    
20  WebPAC::Output::Riak - feed data into Riak  WebPAC::Output::Riak - feed data into Riak Search
21    
22  =head1 FUNCTIONS  =head1 FUNCTIONS
23    
# Line 32  sub init { Line 33  sub init {
33    
34          $log->debug('init');          $log->debug('init');
35    
36            my $bucket = $self->bucket || join('.', $self->database, $self->input || 'webpac2' );
37    
38          $self->{_riak} = Net::Riak->new( host => $self->url );          $self->{_riak} = Net::Riak->new( host => $self->url );
39          $self->{_bucket} = $self->{_riak}->bucket( $self->database );          $self->{_bucket} = $self->{_riak}->bucket( $bucket );
40            $self->{_bucket}->set_properties({
41                    precommit => [ { mod => 'riak_search_kv_hook', fun => 'precommit' } ],
42            });
43    
44          $log->info("Riak ",$self->url, " bucket ", $self->database);          $log->info( $self->url,"/riak/$bucket" );
45    #       warn dump($self->{_bucket}->get_properties);
46    
47          $self->{_count} = 0;          $self->{_count} = 0;
48    
# Line 51  Adds one entry to database. Line 58  Adds one entry to database.
58    
59  =cut  =cut
60    
61  sub add_row {  sub add {
62          my $self = shift;          my ($self,$id,$ds) = @_;
63            my $log = $self->_get_logger;
64    
65          my ( $id, $ds ) = @_;  #       $log->debug( 'ds = ', $id, sub { dump($ds) } );
66    
67          my $log = $self->_get_logger;          my $data;
68            $data->{$_} = join(' ', @{ $ds->{$_}->{search} }) foreach
69                    map { m/^\d+$/ ? $_ = $_ . '_num' : $_ }
70                    # add _num suffix for riak search https://wiki.basho.com/display/RIAK/Riak+Search+-+Schema
71                    grep { exists $ds->{$_}->{search} }
72                    keys %$ds;
73    
74          my $obj = $self->{_bucket}->new_object( $id, $ds );          my $obj = $self->{_bucket}->new_object( $id, $data );
75          $obj->store;          $obj->store;
76    
77          $log->debug( $id, sub { dump($ds) } );          $log->debug( 'json = ', $id, sub { dump($data) } );
78    
79          $self->{_count}++;          $self->{_count}++;
80    

Legend:
Removed from v.1355  
changed lines
  Added in v.1357

  ViewVC Help
Powered by ViewVC 1.1.26