1 |
#!/usr/bin/perl |
2 |
|
3 |
#package common; |
4 |
|
5 |
use strict; |
6 |
|
7 |
$common::install_dir="/local/index"; |
8 |
$common::mpsindex="/local/mps-5.3/bin/mpsindex -l 9 -b"; |
9 |
$common::isis_data="/var/autofs/misc/isis_data/"; |
10 |
#$common::isis_data="/mnt/20020606/Isis/Data/"; # doma |
11 |
|
12 |
$common::mps_header="V 5 3 |
13 |
L hr-HR |
14 |
F 700+ 1 Autor |
15 |
F 200+ 2 Naslov |
16 |
F 210+ 3 Izdavanje |
17 |
F 225 4 Nakladnièka cjelina |
18 |
F 300+ 5 Napomene |
19 |
F 330 6 Sadr¾aj |
20 |
F 464 7 Analitièki radovi |
21 |
F 610 8 Kljuène rijeèi |
22 |
F 675 9 UDK |
23 |
F 686 10 CC |
24 |
F 990 11 Signatura |
25 |
F 991 12 Inventarni broj |
26 |
F ISBN 13 ISBN |
27 |
F MFN 14 MFN |
28 |
F 215+ 15 Materijalni opis |
29 |
F 101 16 Jezik |
30 |
"; |
31 |
|
32 |
$common::database_cf="/local/search/databases.cf"; |
33 |
|
34 |
#-------------------------------------------------------------------- |
35 |
# |
36 |
# mps_expand(nr,"space separated string"); |
37 |
# |
38 |
|
39 |
sub mps_expand { |
40 |
my $nr = shift @_; |
41 |
my $out = ""; |
42 |
while (my $fld = shift @_) { |
43 |
if ($fld =~ s/\s*[,;\.!?'"<>\[\]]*\s+/ /g) { |
44 |
$fld =~ s/></ /g; |
45 |
foreach my $w (split(/\s+/,$fld)) { |
46 |
# FIX: this should be replaced by stemmer! |
47 |
# remove chars from beginning of word |
48 |
$w =~ s/^['"<(\[]//g; |
49 |
# remove chars from end of word |
50 |
$w =~ s/[,;\.!?'">)\]]$//g; |
51 |
# preglasi öÖäÄüÜ -> |
52 |
if ($w =~ m/[]/) { |
53 |
$out .= "W $w $nr\n"; |
54 |
$w =~ s/[]/oe/g; |
55 |
$w =~ s/[]/ae/g; |
56 |
$w =~ s/[]/ue/g; |
57 |
$out .= "W $w $nr\n"; |
58 |
# Irish Last names |
59 |
} elsif (($nr == 1 || $nr == 2 || $nr == 3 || $nr == 6 || $nr == 7 || $nr == 8) && $w =~ m/^Ma?c([A-Z].+)/) { |
60 |
$out .= "W Mc$1 $nr\n"; |
61 |
$out .= "W Mac$1 $nr\n"; |
62 |
} else { |
63 |
$out .= "W $w $nr\n"; |
64 |
} |
65 |
} |
66 |
} else { |
67 |
$out .= "W $fld $nr\n"; |
68 |
} |
69 |
} |
70 |
return c_852_czs($out); |
71 |
} |
72 |
|
73 |
1; |
74 |
|