Lines 140-172
sub SearchAuthorities {
Link Here
|
140 |
my $and=" \@and " ; |
140 |
my $and=" \@and " ; |
141 |
my $q2; |
141 |
my $q2; |
142 |
my $attr_cnt = 0; |
142 |
my $attr_cnt = 0; |
143 |
for(my $i = 0 ; $i <= $#{$value} ; $i++) |
143 |
for ( my $i = 0 ; $i <= $#{$value} ; $i++ ) { |
144 |
{ |
144 |
if ( @$value[$i] ) { |
145 |
if (@$value[$i]){ |
145 |
if ( @$tags[$i] ) { |
146 |
if ( @$tags[$i] eq "mainmainentry" ) { |
146 |
if ( @$tags[$i] eq "mainmainentry" ) { |
147 |
$attr = " \@attr 1=Heading-Main "; |
147 |
$attr = " \@attr 1=Heading-Main "; |
148 |
} |
148 |
} |
149 |
elsif ( @$tags[$i] eq "mainentry" ) { |
149 |
elsif ( @$tags[$i] eq "mainentry" ) { |
150 |
$attr = " \@attr 1=Heading "; |
150 |
$attr = " \@attr 1=Heading "; |
151 |
} |
151 |
} |
152 |
elsif ( @$tags[$i] eq "match" ) { |
152 |
elsif ( @$tags[$i] eq "match" ) { |
153 |
$attr = " \@attr 1=Match "; |
153 |
$attr = " \@attr 1=Match "; |
154 |
} |
154 |
} |
155 |
elsif ( @$tags[$i] eq "match-heading" ) { |
155 |
elsif ( @$tags[$i] eq "match-heading" ) { |
156 |
$attr = " \@attr 1=Match-heading "; |
156 |
$attr = " \@attr 1=Match-heading "; |
157 |
} |
157 |
} |
158 |
elsif ( @$tags[$i] eq "see-from" ) { |
158 |
elsif ( @$tags[$i] eq "see-from" ) { |
159 |
$attr = " \@attr 1=Match-heading-see-from "; |
159 |
$attr = " \@attr 1=Match-heading-see-from "; |
160 |
} |
160 |
} |
161 |
elsif ( @$tags[$i] eq "thesaurus" ) { |
161 |
elsif ( @$tags[$i] eq "thesaurus" ) { |
162 |
$attr = " \@attr 1=Subject-heading-thesaurus "; |
162 |
$attr = " \@attr 1=Subject-heading-thesaurus "; |
163 |
} |
163 |
} |
164 |
else { # Assume any if no index was specified |
164 |
else { # Assume any if no index was specified |
|
|
165 |
$attr = " \@attr 1=Any "; |
166 |
} |
167 |
} #if @$tags[$i] |
168 |
else { # Assume any if no index was specified |
165 |
$attr = " \@attr 1=Any "; |
169 |
$attr = " \@attr 1=Any "; |
166 |
} |
170 |
} |
|
|
171 |
|
167 |
if ( @$operator[$i] eq 'is' ) { |
172 |
if ( @$operator[$i] eq 'is' ) { |
168 |
$attr .= " \@attr 4=1 \@attr 5=100 " |
173 |
$attr .= " \@attr 4=1 \@attr 5=100 " |
169 |
; ##Phrase, No truncation,all of subfield field must match |
174 |
; ##Phrase, No truncation,all of subfield field must match |
170 |
} |
175 |
} |
171 |
elsif ( @$operator[$i] eq "=" ) { |
176 |
elsif ( @$operator[$i] eq "=" ) { |
172 |
$attr .= " \@attr 4=107 "; #Number Exact match |
177 |
$attr .= " \@attr 4=107 "; #Number Exact match |
Lines 177-200
sub SearchAuthorities {
Link Here
|
177 |
} |
182 |
} |
178 |
elsif ( @$operator[$i] eq "exact" ) { |
183 |
elsif ( @$operator[$i] eq "exact" ) { |
179 |
$attr .= " \@attr 4=1 \@attr 5=100 \@attr 6=3 " |
184 |
$attr .= " \@attr 4=1 \@attr 5=100 \@attr 6=3 " |
180 |
; ##Phrase, No truncation,all of subfield field must match |
185 |
; ##Phrase, No truncation,all of subfield field must match |
181 |
} |
186 |
} |
182 |
else { |
187 |
else { |
183 |
$attr .= " \@attr 5=1 \@attr 4=6 " |
188 |
$attr .= " \@attr 5=1 \@attr 4=6 " |
184 |
; ## Word list, right truncated, anywhere |
189 |
; ## Word list, right truncated, anywhere |
185 |
if ($sortby eq 'Relevance') { |
190 |
if ( $sortby eq 'Relevance' ) { |
186 |
$attr .= "\@attr 2=102 "; |
191 |
$attr .= "\@attr 2=102 "; |
187 |
} |
192 |
} |
188 |
} |
193 |
} |
189 |
@$value[$i] =~ s/"/\\"/g; # Escape the double-quotes in the search value |
194 |
@$value[$i] =~ |
190 |
$attr =$attr."\"".@$value[$i]."\""; |
195 |
s/"/\\"/g; # Escape the double-quotes in the search value |
191 |
$q2 .=$attr; |
196 |
$attr = $attr . "\"" . @$value[$i] . "\""; |
192 |
$dosearch=1; |
197 |
$q2 .= $attr; |
|
|
198 |
$dosearch = 1; |
193 |
++$attr_cnt; |
199 |
++$attr_cnt; |
194 |
if ($QParser) { |
200 |
if ($QParser) { |
195 |
$qpquery .= " $tags->[$i]:\"$value->[$i]\""; |
201 |
$qpquery .= " $tags->[$i]:\"$value->[$i]\""; |
196 |
} |
202 |
} |
197 |
}#if value |
203 |
} #if value |
198 |
} |
204 |
} |
199 |
##Add how many queries generated |
205 |
##Add how many queries generated |
200 |
if (defined $query && $query=~/\S+/){ |
206 |
if (defined $query && $query=~/\S+/){ |
201 |
- |
|
|