'biblionumber',
'bio',
'biography',
- 'callnum',
+ 'callnum',
'cfn',
'Chronological-subdivision',
'cn-bib-source',
'Title-uniform-seealso',
'totalissues',
'yr',
-
+
# items indexes
'acqsource',
'barcode',
'stack',
'uri',
'withdrawn',
-
+
# subject related
);
-
+
return \@indexes;
}
) = ( 0, 0, 0, 0, 0 );
}
-
+
if(not $index){
$index = 'kw';
}
-
+
# Set default structure attribute (word list)
my $struct_attr;
unless ( $indexes_set || !$index || $index =~ /(st-|phr|ext|wrdl)/ ) {
}
if ($auto_truncation){
- $operand=~join(" ",map{ "$_*" }split (/\s+/,$operand));
+ unless ( $index =~ /(st-|phr|ext)/ ) {
+ #FIXME only valid with LTR scripts
+ $operand=join(" ",map{
+ (index($_,"*")>0?"$_":"$_*")
+ }split (/\s+/,$operand));
+ warn $operand if $DEBUG;
+ }
}
# Detect Truncation
# Normalize the query and limit strings
# This is flawed , means we can't search anything with : in it
# if user wants to do ccl or cql, start the query with that
- $query =~ s/:/=/g;
+# $query =~ s/:/=/g;
+ $query =~ s/(?<=(ti|au|pb|su|an|kw|mc)):/=/g;
+ $query =~ s/(?<=rtrn):/=/g;
$limit =~ s/:/=/g;
for ( $query, $query_desc, $limit, $limit_desc ) {
s/ / /g; # remove extra spaces
}
# XSLT processing of some stuff
+ my $debug=1;
+ use C4::Charset;
+ SetUTF8Flag($marcrecord);
+ $debug && warn $marcrecord->as_formatted;
if (C4::Context->preference("XSLTResultsDisplay") && !$scan) {
$oldbiblio->{XSLTResultsRecord} = XSLTParse4Display(
$oldbiblio->{biblionumber}, $marcrecord, 'Results' );