Koha/etc/z3950/pqf.properties
Nick Clemens 701e2877ee Bug 8280: Add koha set and item fields to pqf.properties
This patch adds a 'koha' set to the pqf properties and maps some basic
koha fields to all for searchign

To test:
1 - Apply patch
2 - cp etc/z3950/pqf.properties /etc/koha/sites/kohadev/z3950/pqf.properties
3 - sudo koha-z3950-responder --restart kohadev
4 - Test a search:
    curl -XGET "http://localhost:2100/biblios?version=1.1&operation=searchRetrieve&query=koha.itemtype=BK&maximumRecords=60&recordSchema=marcxml"
5 - Test other fields added:
    koha.withdrawn
    koha.lost
    koha.classification-source
    koha.materials-specified
    koha.damaged
    koha.restricted
    koha.cn-sort
    koha.notforloan
    koha.ccode
    koha.itemnumber
    koha.homebranch
    koha.holdingbranch
    koha.location
    koha.barcode
    koha.onloan
    koha.itemtype

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
[EDIT] Copied the changes from z3950 to zebradb too.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2021-06-21 14:01:50 +02:00

182 lines
6.3 KiB
Properties

#
# Propeties file to drive org.z3950.zing.cql.CQLNode's toPQF()
# back-end and the YAZ CQL-to-PQF converter. This specifies the
# interpretation of various CQL indexes, relations, etc. in terms
# of Type-1 query attributes.
#
# This configuration file generates queries using BIB-1 attributes.
# See http://www.loc.gov/z3950/agency/zing/cql/dc-indexes.html
# for the Maintenance Agency's work-in-progress mapping of Dublin Core
# indexes to Attribute Architecture (util, XD and BIB-2)
# attributes.
# Identifiers for prefixes used in this file. (index.*)
set.cql = info:srw/cql-context-set/1/cql-v1.1
set.rec = info:srw/cql-context-set/2/rec-1.0
set.dc = info:srw/cql-context-set/1/dc-v1.1
set.bath = http://zing.z3950.org/cql/bath/2.0/
set.koha = https://wiki.koha-community.org/wiki/Making_more_indexes_searchable_with_Zebra_SRU
# default set (in query)
set = info:srw/cql-context-set/1/dc-v1.1
# The default access point and result-set references
index.cql.serverChoice = 1=1016
# srw.serverChoice is deprecated in favour of cql.serverChoice
# BIB-1 "any"
index.rec.id = 1=12
index.dc.identifier = 1=1007
index.dc.title = 1=4
index.dc.subject = 1=21
index.dc.creator = 1=1003
index.dc.author = 1=1003
index.dc.itemtype = 1=1031
index.dc.barcode = 1=1028
index.dc.branch = 1=1033
index.dc.isbn = 1=7
index.dc.issn = 1=8
index.dc.any = 1=1016
index.dc.note = 1=63
# personal name experimental
index.dc.pname = 1=1
### Unofficial synonym for "creator"
index.dc.editor = 1=1020
index.dc.publisher = 1=1018
index.dc.description = 1=62
# "abstract"
index.dc.date = 1=30
index.dc.resourceType = 1=1031
# guesswork: "Material-type"
index.dc.format = 1=1034
# guesswork: "Content-type"
index.dc.resourceIdentifier = 1=12
# "Local number"
#index.dc.source = 1=1019
# "Record-source"
index.dc.language = 1=54
# "Code--language"
index.dc.Place-publication = 1=59
# "Place-publication"
#index.dc.relation = 1=?
### No idea how to represent this
#index.dc.coverage = 1=?
### No idea how to represent this
#index.dc.rights = 1=?
### No idea how to represent this
# Relation attributes are selected according to the CQL relation by
# looking up the "relation.<relation>" property:
#
relation.< = 2=1
relation.le = 2=2
relation.eq = 2=3
relation.exact = 2=3
relation.ge = 2=4
relation.> = 2=5
relation.<> = 2=6
### These two are not really right:
relation.all = 2=3
relation.any = 2=3
# BIB-1 doesn't have a server choice relation, so we just make the
# choice here, and use equality (which is clearly correct).
relation.scr = 2=3
# Relation modifiers.
#
relationModifier.relevant = 2=102
relationModifier.fuzzy = 5=103
### 100 is "phonetic", which is not quite the same thing
relationModifier.stem = 2=101
relationModifier.phonetic = 2=100
# Position attributes may be specified for anchored terms (those
# beginning with "^", which is stripped) and unanchored (those not
# beginning with "^"). This may change when we get a BIB-1 truncation
# attribute that says "do what CQL does".
#
position.first = 3=1 6=1
# "first in field"
position.any = 3=3 6=1
# "any position in field"
position.last = 3=4 6=1
# not a standard BIB-1 attribute
position.firstAndLast = 3=3 6=3
# search term is anchored to be complete field
# Structure attributes may be specified for individual relations; a
# default structure attribute my be specified by the pseudo-relation
# "*", to be used whenever a relation not listed here occurs.
#
structure.exact = 4=108
# string
structure.all = 4=2
structure.any = 4=2
structure.* = 4=1
# phrase
# Truncation attributes used to implement CQL wildcard patterns. The
# simpler forms, left, right- and both-truncation will be used for the
# simplest patterns, so that we produce PQF queries that conform more
# closely to the Bath Profile. However, when a more complex pattern
# such as "foo*bar" is used, we fall back on Z39.58-style masking.
#
truncation.right = 5=1
truncation.left = 5=2
truncation.both = 5=3
truncation.none = 5=100
truncation.z3958 = 5=104
# Finally, any additional attributes that should always be included
# with each term can be specified in the "always" property.
#
always = 6=1
# 6=1: completeness = incomplete subfield
# Bath Profile support, added Thu Dec 18 13:06:20 GMT 2003
# See the Bath Profile for SRW at
# http://zing.z3950.org/cql/bath.html
# including the Bath Context Set defined within that document.
#
# In this file, we only map index-names to BIB-1 use attributes, doing
# so in accordance with the specifications of the Z39.50 Bath Profile,
# and leaving the relations, wildcards, etc. to fend for themselves.
index.bath.keyTitle = 1=33
index.bath.possessingInstitution = 1=1044
index.bath.name = 1=1002
index.bath.personalName = 1=1
index.bath.corporateName = 1=2
index.bath.conferenceName = 1=3
index.bath.uniformTitle = 1=6
index.bath.isbn = 1=7
index.bath.issn = 1=8
index.bath.geographicName = 1=58
index.bath.notes = 1=63
index.bath.topicalSubject = 1=1079
index.bath.genreForm = 1=1075
# Koha specific indexes
index.koha.withdrawn = 1=8001
index.koha.lost = 1=8002
index.koha.classification-soruce = 1=8003
index.koha.materials-specified = 1=8004
index.koha.damaged = 1=8005
index.koha.restricted = 1=8006
index.koha.cn-sort = 1=8007
index.koha.notforloan = 1=8008
index.koha.ccode = 1=8009
index.koha.itemnumber = 1=8010
index.koha.homebranch = 1=8011
index.koha.holdingbranch = 1=8012
index.koha.location = 1=8013
index.koha.barcode = 1=8023
index.koha.onloan = 1=8024
index.koha.itemtype = 1=8031