From f98c27a8bcf4d2fbe0e9a53a2dee307f3bba062b Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Tue, 25 Mar 2008 07:30:39 -0500 Subject: [PATCH] refactor rebuild_zebra: new routine for invoking zebraidx Created a routine for calling zebraidx, replacing separate invocations for bibs and authorities. Signed-off-by: Joshua Ferraro --- misc/migration_tools/rebuild_zebra.pl | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/misc/migration_tools/rebuild_zebra.pl b/misc/migration_tools/rebuild_zebra.pl index 4f4a9f62c1..fa61deae39 100755 --- a/misc/migration_tools/rebuild_zebra.pl +++ b/misc/migration_tools/rebuild_zebra.pl @@ -144,9 +144,7 @@ if ($authorities) { print "====================\n"; print "REINDEXING zebra\n"; print "====================\n"; - system("zebraidx -c ".C4::Context->zebraconfig('authorityserver')->{config}." -g iso2709 -d authorities init") if ($reset); - system("zebraidx -c ".C4::Context->zebraconfig('authorityserver')->{config}." $noshadow -g iso2709 -d authorities update $directory/authorities"); - system("zebraidx -c ".C4::Context->zebraconfig('authorityserver')->{config}." -g iso2709 -d authorities commit") unless $noshadow; + do_indexing('authority', 'update', "$directory/authorities", $reset, $noshadow, 'iso2709'); } else { print "skipping authorities\n"; } @@ -383,9 +381,7 @@ if ($biblios) { print "REINDEXING zebra\n"; print "====================\n"; my $record_fmt = ($as_xml) ? 'marcxml' : 'iso2709' ; - system("zebraidx -g $record_fmt -c ".C4::Context->zebraconfig('biblioserver')->{config}." -d biblios init") if ($reset); - system("zebraidx -g $record_fmt -c ".C4::Context->zebraconfig('biblioserver')->{config}." $noshadow -d biblios update $directory/biblios"); - system("zebraidx -g $record_fmt -c ".C4::Context->zebraconfig('biblioserver')->{config}." -d biblios commit") unless $noshadow; + do_indexing('biblio', 'update', "$directory/biblios", $reset, $noshadow, $record_fmt); } else { print "skipping biblios\n"; } @@ -414,6 +410,20 @@ if ($keep_export) { } } +sub do_indexing { + my ($record_type, $op, $record_dir, $reset_index, $noshadow, $record_format) = @_; + + my $zebra_server = ($record_type eq 'biblio') ? 'biblioserver' : 'authorityserver'; + my $zebra_db_name = ($record_type eq 'biblio') ? 'biblios' : 'authorities'; + my $zebra_config = C4::Context->zebraconfig($zebra_server)->{'config'}; + my $zebra_db_dir = C4::Context->zebraconfig($zebra_server)->{'directory'}; + + system("zebraidx -c $zebra_config -g $record_format -d $zebra_db_name init") if $reset_index; + system("zebraidx -c $zebra_config $noshadow -g $record_format -d $zebra_db_name $op $record_dir"); + system("zebraidx -c $zebra_config -g $record_format -d $zebra_db_name commit") unless $noshadow; + +} + sub print_usage { print <<_USAGE_; $0: reindex MARC bibs and/or authorities in Zebra. -- 2.39.5