This patch adds the Zebra special attribute 14 to ccl.properties and
opac-search.pl, so that we can turn on OpacSuppression and still return
results even if there are no records in Zebra for the Suppress index.
_TEST PLAN_
Before applying:
1) Make sure that you have no suppressed records indexed in Zebra
2) Turn on OpacSuppression system preference
3) Search using a keyword which should bring up records
4) Note that no records are returned in the results
5) Change UseQueryParser system preference to "Try"
6) Repeat steps 3-4
Apply the patch.
After applying:
7) Repeat step 3 (ie search using a keyword which should bring up records)
8) Confirm that records are appearing in the results!
9) Change UseQueryParser system preference to "Do not try"
10) Repeat step 3
11) Confirm that records are appearing in the results!
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised. No more, won't need to have at least one record with the
value "1" in the field mapped with this index. All records in OPAC returned.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
cn-item 1=9008
cn-prefix 1=9009
cn-suffix 1=9010
-Suppress 1=9011
+Suppress 1=9011 14=1
id-other 1=9012
date-entered-on-file 1=date-entered-on-file
extent 1=Extent
my $IPRange = C4::Context->preference('OpacSuppressionByIPRange');
if ($IPAddress !~ /^$IPRange/) {
if ( $query_type eq 'pqf' ) {
- $query = '@not '.$query.' @attr 1=9011 1';
+ $query = '@not '.$query.' @attr 14=1 @attr 1=9011 1';
} else {
$query = "($query) not Suppress=1";
}
else {
if ( $query_type eq 'pqf' ) {
#$query = "($query) && -(suppress:1)"; #QP syntax
- $query = '@not '.$query.' @attr 1=9011 1'; #PQF syntax
+ $query = '@not '.$query.' @attr 14=1 @attr 1=9011 1'; #PQF syntax
} else {
$query = "($query) not Suppress=1";
}