Changeset 28119
- Timestamp:
- 2013-08-22T16:20:54+12:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/mgppbuilder.pm
r27997 r28119 253 253 die "mgppbuilder::compress_text - couldn't run $mgpp_compression_dict_exe\n"; 254 254 } 255 system ("mgpp_compression_dict$exe -f \"$fulltextprefix\" -S -H -2 -k 5120 $osextra"); 255 my $comp_dict_status = system ("mgpp_compression_dict$exe -f \"$fulltextprefix\" -S -H -2 -k 5120 $osextra"); 256 if($comp_dict_status != 0) { 257 print $outhandle "\nmgppbuilder::compress_text - Warning: there's no compressed text\n"; 258 $self->{'notbuilt'}->{'compressedtext'} = 1; 259 print STDERR "<Warning name='NoCompressedText'/>\n</Stage>\n" if $self->{'gli'}; 260 return; 261 } 256 262 257 263 if (!$self->{'debug'}) { … … 564 570 my $weights_cmd = "mgpp_weights_build$exe -f \"$fullindexprefix\" $osextra"; 565 571 print $outhandle "\ncmd: $weights_cmd\n" if ($self->{'verbosity'} >= 4); 566 system ($weights_cmd); 572 my $weights_status = system ($weights_cmd); 573 # check that it worked - if not, don't carry on 574 if ($weights_status !=0) { 575 print $outhandle "mgppbuilder::build_index - No Index: couldn't create weights file, error calling mggp_weights_build.\n"; 576 print STDERR "<Warning name='NoIndex'/>\n</Stage>\n" if $self->{'gli'}; 577 $self->{'notbuilt'}->{$index}=1; 578 return; 579 580 } 567 581 568 582 # create 'on-disk' stemmed dictionary … … 572 586 die "mgppbuilder::build_index - couldn't run $mgpp_invf_dict_exe\n"; 573 587 } 574 system ("mgpp_invf_dict$exe -f \"$fullindexprefix\" $osextra" ); 575 588 my $invdict_status = system ("mgpp_invf_dict$exe -f \"$fullindexprefix\" $osextra" ); 589 # check that it worked - if not, don't carry on 590 if ($invdict_status !=0) { 591 print $outhandle "mgppbuilder::build_index - No Index: couldn't create on-disk stemmed dictionary, error calling mggp_invf_dict.\n"; 592 print STDERR "<Warning name='NoIndex'/>\n</Stage>\n" if $self->{'gli'}; 593 $self->{'notbuilt'}->{$index}=1; 594 return; 595 596 } 576 597 577 598 # creates stem index files for the various stemming methods … … 585 606 if ($self->{'accentfold'}) { 586 607 # the first time we do this, we test for accent folding enabled 587 if (system ("mgpp_stem_idx$exe -b 4096 -s4 -f \"$fullindexprefix\" $osextra") == 2) { 608 my $accent_status = system ("mgpp_stem_idx$exe -b 4096 -s4 -f \"$fullindexprefix\" $osextra"); 609 if ($accent_status == 2) { 588 610 # accent folding has not been enabled in mgpp 589 611 $accent_folding_enabled = 0; 590 612 $self->{'stemindexes'} -= 4; 613 } elsif ($accent_status != 0) { 614 print $outhandle "\nAccent folding failed: mgpp_stem_idx exit status $accent_status\n" if ($self->{'verbosity'} >= 4); 615 $self->{'accentfold'} = 0; 616 #$accent_folding_enabled = 0; 617 $self->{'stemindexes'} -= 4; 591 618 } 592 619 } 593 620 if ($self->{'casefold'}) { 594 system ("mgpp_stem_idx$exe -b 4096 -s1 -f \"$fullindexprefix\" $osextra"); 595 if ($accent_folding_enabled && $self->{'accentfold'}) { 596 system ("mgpp_stem_idx$exe -b 4096 -s5 -f \"$fullindexprefix\" $osextra"); 621 my $casefold_status = system ("mgpp_stem_idx$exe -b 4096 -s1 -f \"$fullindexprefix\" $osextra"); 622 if ($casefold_status != 0) { 623 print $outhandle "\nCase folding failed: mgpp_stem_idx exit status $casefold_status\n" if ($self->{'verbosity'} >= 4); 624 $self->{'casefold'} = 0; 625 $self->{'stemindexes'} -= 1; 626 } 627 628 elsif ($accent_folding_enabled && $self->{'accentfold'}) { 629 my $status = system ("mgpp_stem_idx$exe -b 4096 -s5 -f \"$fullindexprefix\" $osextra"); 630 if($status != 0) { 631 print $outhandle "\nAccent folding (with casefolding) failed: mgpp_stem_idx exit status $status\n" if ($self->{'verbosity'} >= 4); 632 $self->{'accentfold'} = 0; 633 $self->{'stemindexes'} -= 4; # casefold worked, only accentfold failed, so -= 4, not -= 5 634 } 597 635 } 598 636 } 599 637 if ($self->{'stem'}) { 600 system ("mgpp_stem_idx$exe -b 4096 -s2 -f \"$fullindexprefix\" $osextra"); 601 if ($accent_folding_enabled && $self->{'accentfold'}) { 602 system ("mgpp_stem_idx$exe -b 4096 -s6 -f \"$fullindexprefix\" $osextra"); 638 my $stem_status = system ("mgpp_stem_idx$exe -b 4096 -s2 -f \"$fullindexprefix\" $osextra"); 639 if ($stem_status != 0) { 640 print $outhandle "\nStemming failed: mgpp_stem_idx exit status $stem_status\n" if ($self->{'verbosity'} >= 4); 641 $self->{'stem'} = 0; 642 $self->{'stemindexes'} -= 2; 643 } 644 elsif ($accent_folding_enabled && $self->{'accentfold'}) { 645 my $status = system ("mgpp_stem_idx$exe -b 4096 -s6 -f \"$fullindexprefix\" $osextra"); 646 if($status != 0) { 647 print $outhandle "\nAccent folding (with stemming) failed: mgpp_stem_idx exit status $status\n" if ($self->{'verbosity'} >= 4); 648 $self->{'accentfold'} = 0; 649 $self->{'stemindexes'} -= 4; # stem worked, only accentfold failed, so -= 4, not -= 6 650 } 603 651 } 604 652 } 605 653 if ($self->{'casefold'} && $self->{'stem'}) { 606 system ("mgpp_stem_idx$exe -b 4096 -s3 -f \"$fullindexprefix\" $osextra"); 607 if ($accent_folding_enabled && $self->{'accentfold'}) { 608 system ("mgpp_stem_idx$exe -b 4096 -s7 -f \"$fullindexprefix\" $osextra"); 654 my $case_and_stem_status = system ("mgpp_stem_idx$exe -b 4096 -s3 -f \"$fullindexprefix\" $osextra"); 655 if ($case_and_stem_status != 0) { 656 print $outhandle "\nCasefolding and stemming failed: mgpp_stem_idx exit status $case_and_stem_status\n" if ($self->{'verbosity'} >= 4); 657 $self->{'stem'} = 0; 658 $self->{'casefold'} = 0; 659 $self->{'stemindexes'} -= 3; 660 } 661 elsif ($accent_folding_enabled && $self->{'accentfold'}) { 662 my $status = system ("mgpp_stem_idx$exe -b 4096 -s7 -f \"$fullindexprefix\" $osextra"); 663 if($status != 0) { 664 print $outhandle "\nAccent folding (with stemming and casefolding) failed: mgpp_stem_idx exit status $status\n" if ($self->{'verbosity'} >= 4); 665 $self->{'accentfold'} = 0; 666 $self->{'stemindexes'} -= 4; # casefold and stem worked, only accentfold failed, so -= 4, not -= 7 667 } 609 668 } 610 669 }
Note:
See TracChangeset
for help on using the changeset viewer.