use _num suffix for numeric fields
[webpac2] / lib / WebPAC / Output / Riak.pm
index 852d0b5..4dd47a2 100644 (file)
@@ -65,9 +65,18 @@ sub add {
 #      $log->debug( 'ds = ', $id, sub { dump($ds) } );
 
        my $data;
-       $data->{$_} = join(' ', @{ $ds->{$_}->{search} }) foreach
-               map { m/^\d+$/ ? $_ = $_ . '_num' : $_ }
-               # add _num suffix for riak search https://wiki.basho.com/display/RIAK/Riak+Search+-+Schema
+       $data->{$_->[0]} = $_->[1] foreach
+               map {
+                       my $v = join(' ', @{ $ds->{$_}->{search} });
+                       my $k = $_;
+                       if ( $v =~ m/^\d+([-\d+]*\d)?$/ ) {
+                               $v =~ s/-//g;
+                               $v *= 1;
+                               # _num suffix for riak search https://wiki.basho.com/display/RIAK/Riak+Search+-+Schema
+                               $k .= '_num';
+                       }
+                       [ $k, $v ]
+               }
                grep { exists $ds->{$_}->{search} }
                keys %$ds;