6 |
|
|
7 |
$common::install_dir="/local/index"; |
$common::install_dir="/local/index"; |
8 |
$common::mpsindex="/local/mps-5.3/bin/mpsindex -l 9 -b"; |
$common::mpsindex="/local/mps-5.3/bin/mpsindex -l 9 -b"; |
9 |
$common::isis_data="/var/autofs/misc/isis_data/"; |
#$common::isis_data="/var/autofs/misc/isis_data/"; |
10 |
|
$common::isis_data="/data/isis_data/"; |
11 |
#$common::isis_data="/mnt/20020606/Isis/Data/"; # doma |
#$common::isis_data="/mnt/20020606/Isis/Data/"; # doma |
12 |
|
|
13 |
$common::mps_header="V 5 3 |
$common::mps_header="V 5 3 |
24 |
F 686 10 CC |
F 686 10 CC |
25 |
F 990 11 Signatura |
F 990 11 Signatura |
26 |
F 991 12 Inventarni broj |
F 991 12 Inventarni broj |
27 |
F ISBN 13 ISBN |
F ISN 13 ISBN, ISSN |
28 |
F MFN 14 MFN |
F MFN 14 MFN |
29 |
F 215+ 15 Materijalni opis |
F 215+ 15 Materijalni opis |
30 |
|
F 101 16 Jezik |
31 |
|
F tip 17 Tip graðe |
32 |
"; |
"; |
33 |
|
|
34 |
|
$common::database_cf="/local/search/databases.cf"; |
35 |
|
|
36 |
|
#-------------------------------------------------------------------- |
37 |
|
# |
38 |
|
# open_data_files($db_dir) |
39 |
|
# |
40 |
|
# input: $db_dir - database directory name (e.g. 'ps') |
41 |
|
# return: path on filesystem to data dir |
42 |
|
|
43 |
|
sub open_data_files { |
44 |
|
my ($db_dir,$debug) = @_; |
45 |
|
|
46 |
|
mkdir "$common::install_dir/$db_dir" if (!-e "$common::install_dir/$db_dir"); |
47 |
|
mkdir "$common::install_dir/$db_dir/data" if (!-e "$common::install_dir/$db_dir/data"); |
48 |
|
|
49 |
|
my $dir="$common::install_dir/$db_dir/data"; |
50 |
|
|
51 |
|
open(S,"> $dir/stream") || die "can't open output $dir/stream: $!"; |
52 |
|
open(R,"> $dir/bib") || die "can't open output $dir/bib: $!"; |
53 |
|
if (! $debug) { |
54 |
|
open(MPS,"| $common::mpsindex -d $common::install_dir/$db_dir -autokey") || die "can't start MPS indexer $common::mpsindex: $!"; |
55 |
|
} else { |
56 |
|
open(MPS,"> /tmp/mpsindex") || die "mps: $!"; |
57 |
|
} |
58 |
|
|
59 |
|
print S $common::mps_header; |
60 |
|
print MPS $common::mps_header; |
61 |
|
|
62 |
|
return $dir; |
63 |
|
} |
64 |
|
|
65 |
#-------------------------------------------------------------------- |
#-------------------------------------------------------------------- |
66 |
# |
# |
67 |
# mps_expand(nr,"space separated string"); |
# mps_expand(nr,"space separated string"); |
72 |
my $out = ""; |
my $out = ""; |
73 |
while (my $fld = shift @_) { |
while (my $fld = shift @_) { |
74 |
if ($fld =~ s/\s*[,;\.!?'"<>\[\]]*\s+/ /g) { |
if ($fld =~ s/\s*[,;\.!?'"<>\[\]]*\s+/ /g) { |
75 |
|
$fld =~ s/></ /g; |
76 |
foreach my $w (split(/\s+/,$fld)) { |
foreach my $w (split(/\s+/,$fld)) { |
77 |
# FIX: this should be replaced by stemmer! |
# FIX: this should be replaced by stemmer! |
78 |
$out .= "W $w $nr\n"; |
# remove chars from beginning of word |
79 |
|
$w =~ s/^['"<(\[]//g; |
80 |
|
# remove chars from end of word |
81 |
|
$w =~ s/[,;\.!?'">)\]]$//g; |
82 |
|
# preglasi öÖäÄüÜ |
83 |
|
if ($w =~ m/[öÖäÄüÜ]/) { |
84 |
|
$out .= "W $w $nr\n"; |
85 |
|
$w =~ s/[öÖ]/oe/g; |
86 |
|
$w =~ s/[äÄ]/ae/g; |
87 |
|
$w =~ s/[üÜ]/ue/g; |
88 |
|
$out .= "W $w $nr\n"; |
89 |
|
# Irish Last names |
90 |
|
} elsif (($nr == 1 || $nr == 2 || $nr == 3 || $nr == 6 || $nr == 7 || $nr == 8) && $w =~ m/^Ma?c([A-Z].+)/) { |
91 |
|
$out .= "W Mc$1 $nr\n"; |
92 |
|
$out .= "W Mac$1 $nr\n"; |
93 |
|
} else { |
94 |
|
$out .= "W $w $nr\n"; |
95 |
|
} |
96 |
} |
} |
97 |
} else { |
} else { |
98 |
$out .= "W $fld $nr\n"; |
$out .= "W $fld $nr\n"; |
99 |
} |
} |
100 |
} |
} |
101 |
return c_852_czs($out); |
return $out; |
102 |
} |
} |
103 |
|
|
104 |
1; |
1; |