Ignore:
Timestamp:
2009-02-03T09:48:19+13:00 (15 years ago)
Author:
davidb
Message:

Additions to support the deleting of documents from the index. Only works for indexers that support incremental building, e.g. lucene

File:
1 edited

Legend:

Unmodified
Added
Removed
  • gsdl/trunk/perllib/GDBMUtils.pm

    r17285 r18456  
    1717
    1818sub gdbmDatabaseGet
    19   {
     19{
    2020    my ($database, $oid) = @_;
    2121
     
    2929    # Done
    3030    return $value;
    31   }
     31}
     32
     33sub gdbmRecordToHash
     34{
     35    my ($database, $oid) = @_;
     36
     37    my $val = gdbmDatabaseGet($database,$oid);
     38
     39    my $rec = {};
     40
     41    while ($val =~ m/^<(.*?)>(.*)$/mg) {
     42    my $metaname = $1;
     43    my $metavalue = $2;
     44
     45    if (!defined $rec->{$metaname}) {
     46        $rec->{$metaname} = [ $metavalue ];
     47    }
     48    else {
     49        push(@{$rec->{$metaname}},$metavalue);
     50    }
     51    }
     52
     53    return $rec;
     54}
     55
    3256
    3357sub gdbmDatabaseAppend
    34   {
     58{
    3559    my ($database, $oid, $value) = @_;
    3660
     
    7195    print STDERR "#Set document\ncmd: gdbmset$exe \"$database\" \"$oid\"\n" if $debug;
    7296
    73     # Think it would be clearer if this funcctionality was done
    74     # by a separate executable, e.g. gdbmremove
    75     `gdbmset$exe "$database" "$oid"`;
     97    `gdbmdel$exe "$database" "$oid"`;
    7698}
    7799
Note: See TracChangeset for help on using the changeset viewer.