Fixes problems with searching using terms that contain ' and , by
stripping them out and replacing with a space ... line 115
This commit is contained in:
parent
02a9765add
commit
a0f310eb19
1 changed files with 12 additions and 1 deletions
|
@ -95,6 +95,10 @@ sub catalogsearch {
|
||||||
# where m1.bibid=m2.bibid and
|
# where m1.bibid=m2.bibid and
|
||||||
# (m1.subfieldvalue like "Des%" and m2.subfieldvalue like "27%")
|
# (m1.subfieldvalue like "Des%" and m2.subfieldvalue like "27%")
|
||||||
|
|
||||||
|
# last minute stripping out of stuff
|
||||||
|
# doesn't work @$value =~ s/\'/ /;
|
||||||
|
# @$value = map { $_ =~ s/\'/ /g } @$value;
|
||||||
|
|
||||||
# "Normal" statements
|
# "Normal" statements
|
||||||
my @normal_tags = ();
|
my @normal_tags = ();
|
||||||
my @normal_and_or = ();
|
my @normal_and_or = ();
|
||||||
|
@ -107,6 +111,13 @@ sub catalogsearch {
|
||||||
my @not_value = ();
|
my @not_value = ();
|
||||||
my $any_not = 0;
|
my $any_not = 0;
|
||||||
$orderby = "biblio.title" unless $orderby;
|
$orderby = "biblio.title" unless $orderby;
|
||||||
|
|
||||||
|
#last minute stripping out of ' and ,
|
||||||
|
foreach $_ (@$value) {
|
||||||
|
$_=~ s/\'/ /g;
|
||||||
|
$_=~ s/\,/ /g;
|
||||||
|
}
|
||||||
|
|
||||||
for(my $i = 0 ; $i <= $#{$value} ; $i++)
|
for(my $i = 0 ; $i <= $#{$value} ; $i++)
|
||||||
{
|
{
|
||||||
if(@$excluding[$i]) # NOT statements
|
if(@$excluding[$i]) # NOT statements
|
||||||
|
@ -164,7 +175,7 @@ sub catalogsearch {
|
||||||
my $sth;
|
my $sth;
|
||||||
if ($sql_where2) {
|
if ($sql_where2) {
|
||||||
$sth = $dbh->prepare("select distinct m1.bibid from biblio,biblioitems,marc_biblio,$sql_tables where biblio.biblionumber=marc_biblio.biblionumber and biblio.biblionumber=biblioitems.biblionumber and m1.bibid=marc_biblio.bibid and $sql_where2 and ($sql_where1) order by $orderby");
|
$sth = $dbh->prepare("select distinct m1.bibid from biblio,biblioitems,marc_biblio,$sql_tables where biblio.biblionumber=marc_biblio.biblionumber and biblio.biblionumber=biblioitems.biblionumber and m1.bibid=marc_biblio.bibid and $sql_where2 and ($sql_where1) order by $orderby");
|
||||||
warn "Q2 : select distinct m1.bibid from biblio,biblioitems,marc_biblio,$sql_tables where biblio.biblionumber=marc_biblio.biblionumber and biblio.biblionumber=biblioitems.biblionumber and m1.bibid=marc_biblio.bibid and $sql_where2 and ($sql_where1) order by $orderby";
|
warn "Q2 : select distinct m1.bibid from biblio,biblioitems,marc_biblio,$sql_tables where biblio.biblionumber=marc_biblio.biblionumber and biblio.biblionumber=biblioitems.biblionumber and m1.bibid=marc_biblio.bibid and $sql_where2 and ($sql_where1) order by $orderby term is @$value";
|
||||||
} else {
|
} else {
|
||||||
$sth = $dbh->prepare("select distinct m1.bibid from biblio,biblioitems,marc_biblio,$sql_tables where biblio.biblionumber=marc_biblio.biblionumber and biblio.biblionumber=biblioitems.biblionumber and m1.bibid=marc_biblio.bibid and $sql_where1 order by $orderby");
|
$sth = $dbh->prepare("select distinct m1.bibid from biblio,biblioitems,marc_biblio,$sql_tables where biblio.biblionumber=marc_biblio.biblionumber and biblio.biblionumber=biblioitems.biblionumber and m1.bibid=marc_biblio.bibid and $sql_where1 order by $orderby");
|
||||||
warn "Q : select distinct m1.bibid from biblio,biblioitems,marc_biblio,$sql_tables where biblio.biblionumber=marc_biblio.biblionumber and biblio.biblionumber=biblioitems.biblionumber and m1.bibid=marc_biblio.bibid and $sql_where1 order by $orderby";
|
warn "Q : select distinct m1.bibid from biblio,biblioitems,marc_biblio,$sql_tables where biblio.biblionumber=marc_biblio.biblionumber and biblio.biblionumber=biblioitems.biblionumber and m1.bibid=marc_biblio.bibid and $sql_where1 order by $orderby";
|
||||||
|
|
Loading…
Reference in a new issue