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