Changeset 18469 for gsdl/trunk/perllib/basebuildproc.pm
- Timestamp:
- 2009-02-06T18:19:44+13:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gsdl/trunk/perllib/basebuildproc.pm
r18463 r18469 343 343 { 344 344 my $self = shift (@_); 345 my ($field ) = @_;345 my ($field,$edit_mode) = @_; 346 346 347 347 # Keep some statistics relating to metadata sets used and … … 355 355 my $core_field = $2; 356 356 357 $self->{'doc_mdprefix_fields'}->{$prefix}->{$core_field}++; 358 $self->{'mdprefix_fields'}->{$prefix}->{$core_field}++; 357 if (($edit_mode eq "add") || ($edit_mode eq "reindex")) { 358 $self->{'doc_mdprefix_fields'}->{$prefix}->{$core_field}++; 359 $self->{'mdprefix_fields'}->{$prefix}->{$core_field}++; 360 } 361 else { 362 # delete 363 $self->{'doc_mdprefix_fields'}->{$prefix}->{$core_field}--; 364 $self->{'mdprefix_fields'}->{$prefix}->{$core_field}--; 365 } 366 359 367 } 360 368 elsif ($field =~ m/^[[:upper:]]/) { 361 369 # implicit 'ex' metadata set 362 370 363 $self->{'doc_mdprefix_fields'}->{'ex'}->{$field}++; 364 $self->{'mdprefix_fields'}->{'ex'}->{$field}++; 371 if (($edit_mode eq "add") || ($edit_mode eq "reindex")) { 372 373 $self->{'doc_mdprefix_fields'}->{'ex'}->{$field}++; 374 $self->{'mdprefix_fields'}->{'ex'}->{$field}++; 375 } 376 else { 377 # delete 378 $self->{'doc_mdprefix_fields'}->{'ex'}->{$field}--; 379 $self->{'mdprefix_fields'}->{'ex'}->{$field}--; 380 } 365 381 } 366 382 … … 425 441 # delete 426 442 $self->{'num_docs'} -= 1 unless ($doctype eq "classification"); 427 return;428 443 } 429 444 … … 448 463 449 464 # update a few statistics 450 $self->{'num_bytes'} += $doc_obj->get_text_length ($section); 451 $self->{'num_sections'} += 1 unless ($doctype eq "classification"); 465 if (($edit_mode eq "add") || ($edit_mode eq "reindex")) { 466 467 $self->{'num_bytes'} += $doc_obj->get_text_length ($section); 468 $self->{'num_sections'} += 1 unless ($doctype eq "classification"); 469 } 470 else { 471 # delete 472 $self->{'num_bytes'} -= $doc_obj->get_text_length ($section); 473 $self->{'num_sections'} -= 1 unless ($doctype eq "classification"); 474 } 452 475 453 476 # output the fact that this document is a document (unless doctype … … 488 511 # special case for URL metadata 489 512 if ($field =~ /^URL$/i) { 490 &dbutil::write_infodb_entry($self->{'infodbtype'}, $infodb_handle, $value, { 'section' => [ $section_OID ] }); 513 if (($edit_mode eq "add") || ($edit_mode eq "reindex")) { 514 515 &dbutil::write_infodb_entry($self->{'infodbtype'}, $infodb_handle, $value, { 'section' => [ $section_OID ] }); 516 } 517 else { 518 # delete 519 &dbutil::delete_infodb_entry($self->{'infodbtype'}, $infodb_handle, $value); 520 } 521 522 491 523 } 492 524 … … 496 528 if ($section eq "" && $self->{'store_metadata_coverage'} =~ /^true$/i) 497 529 { 498 $self->infodb_metadata_stats($field );530 $self->infodb_metadata_stats($field,$edit_mode); 499 531 } 500 532 } … … 565 597 } 566 598 567 &dbutil::write_infodb_entry($self->{'infodbtype'}, $infodb_handle, $section_OID, \%section_infodb); 599 if (($edit_mode eq "add") || ($edit_mode eq "reindex")) { 600 601 &dbutil::write_infodb_entry($self->{'infodbtype'}, $infodb_handle, $section_OID, \%section_infodb); 602 } 603 else { 604 # delete 605 &dbutil::delete_infodb_entry($self->{'infodbtype'}, $infodb_handle, $section_OID); 606 } 607 568 608 569 609 # output a database entry for the document number, except for Lucene (which no longer needs this information) 570 610 unless (ref($self) eq "lucenebuildproc") 571 611 { 572 if ($self->{'db_level'} eq "document") { 573 &dbutil::write_infodb_entry($self->{'infodbtype'}, $infodb_handle, $self->{'num_docs'}, { 'section' => [ $doc_OID ] }); 612 if (($edit_mode eq "add") || ($edit_mode eq "reindex")) { 613 614 if ($self->{'db_level'} eq "document") { 615 &dbutil::write_infodb_entry($self->{'infodbtype'}, $infodb_handle, $self->{'num_docs'}, { 'section' => [ $doc_OID ] }); 616 } 617 else { 618 &dbutil::write_infodb_entry($self->{'infodbtype'}, $infodb_handle, $self->{'num_sections'}, { 'section' => [ $section_OID ] }); 619 } 574 620 } 575 621 else { 576 &dbutil::write_infodb_entry($self->{'infodbtype'}, $infodb_handle, $self->{'num_sections'}, { 'section' => [ $section_OID ] }); 622 623 if ($self->{'db_level'} eq "document") { 624 &dbutil::delete_infodb_entry($self->{'infodbtype'}, $infodb_handle, $self->{'num_docs'}); 625 } 626 else { 627 &dbutil::delete_infodb_entry($self->{'infodbtype'}, $infodb_handle, $self->{'num_sections'}); 628 } 629 577 630 } 578 631 }
Note:
See TracChangeset
for help on using the changeset viewer.