foliolib.folio.api.sharedIndex.Sharedindex
- class foliolib.folio.api.sharedIndex.Sharedindex(tenant: str, okapi: Optional[foliolib.okapi.okapiClient.OkapiClient] = None)
Bases:
foliolib.folio.FolioApiShared Index
- Parameters
tenant (str) – Tenant id
okapi (OkapiClient, optional) – Instance of OkapiClient. Defaults to None.
Methods
deleteconfigmatchkey(id_)Delete match key configuration
Delete global records.
deletesource(id_)Delete source.
getcluster(clusterId)Get cluster by identifier
Get clusters with matchkeyid.
getconfigmatchkey(id_)Get match key configuration
getconfigmatchkeys(**kwargs)Get match key configurations
getglobalrecord(globalId)Get record with global identifier.
Get records that satisfy CQL query with fields localId, sourceId, globalId.
getsource(id_)Get source.
getsources(**kwargs)Get sources.
ingestjobfinish(id_, **kwargs)Finish ingest job with either rollback of commit.
ingestjobinfo(id_)Get ingest job information.
ingestjobrecord(ingestRecordChunk, id_)Put records for job.
initializematchkey(id_)Recalculate match key across all records.
OAI service
postconfigmatchkey(matchKey)Create match key
postingestjob(ingestJobRequest)Create ingest job
postsource(source)Create source.
putconfigmatchkey(matchKey, id_)Update match key configuration.
putglobalrecords(ingestRecordRequest)Create or update records.
- deleteconfigmatchkey(id_)
Delete match key configuration
DELETE /shared-index/config/matchkeys/{id}- Raises
OkapiRequestError – Bad request
OkapiRequestNotFound – Not Found
OkapiFatalError – Internal error
- deleteglobalrecords()
Delete global records.
DELETE /shared-index/records- Raises
OkapiRequestError – Bad request
OkapiFatalError – Internal error
- deletesource(id_)
Delete source.
DELETE /shared-index/config/sources/{id}- Raises
OkapiRequestError – Bad request
OkapiRequestNotFound – Not Found
OkapiFatalError – Internal error
- getcluster(clusterId)
Get cluster by identifier
GET /shared-index/clusters/{clusterId}- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad request
OkapiRequestNotFound – Not Found
OkapiFatalError – Internal error
Schema
{ "description": "cluster", "type": "object", "properties": { "clusterId": { "type": "string", "description": "Cluster identifier", "format": "uuid" }, "datestamp": { "type": "string", "description": "date time of modification", "format": "date" }, "records": { "description": "List of records", "type": "array", "items": { "type": "object", "$ref": "globalRecord.json" } }, "matchKeys": { "description": "Match keys values", "type": "array", "items": { "type": "string" } } }, "additionalProperties": false, "required": [ "clusterId", "records" ] }
- getclusters()
Get clusters with matchkeyid. CQL query with matchValue, clusterId fields
GET /shared-index/clusters- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad request
OkapiRequestNotFound – Not Found
OkapiFatalError – Internal error
Schema
{ "description": "cluster records", "type": "object", "properties": { "items": { "description": "List of clusters", "type": "array", "items": { "type": "object", "$ref": "cluster.json" } }, "resultInfo": { "description": "Common result set information", "type": "object", "$ref": "resultInfo.json" } }, "additionalProperties": false, "required": [ "items" ] }
- getconfigmatchkey(id_)
Get match key configuration
GET /shared-index/config/matchkeys/{id}- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad request
OkapiRequestNotFound – Not Found
OkapiFatalError – Internal error
Schema
{ "description": "shared index match key", "type": "object", "properties": { "id": { "type": "string", "description": "match key identifier" }, "method": { "type": "string", "description": "method" }, "params": { "type": "object", "description": "parameter references" }, "update": { "type": "string", "enum": [ "ingest", "manual" ], "description": "ingest: update when records are ingested, manual: update only when initialize is called" } }, "additionalProperties": false, "required": [ "id", "method", "params" ] }
- getconfigmatchkeys(**kwargs)
Get match key configurations
GET /shared-index/config/matchkeys- Keyword Arguments
limit (int) – Limit the number of elements returned in the response (default: 10, minimum: 0)
query (str) – CQL query
offset (int) – Skip over number of elements (default is first element) (default: 0, minimum: 0)
- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad request
OkapiFatalError – Internal error
Schema
{ "description": "match keys", "type": "object", "properties": { "matchKeys": { "description": "List of match keys", "type": "array", "items": { "type": "object", "$ref": "matchKey.json" } }, "resultInfo": { "description": "Common result set information", "type": "object", "$ref": "resultInfo.json" } }, "additionalProperties": false, "required": [ "matchKeys" ] }
- getglobalrecord(globalId)
Get record with global identifier.
GET /shared-index/records/{globalId}- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad request
OkapiRequestNotFound – Not Found
OkapiFatalError – Internal error
Schema
{ "description": "Global record", "type": "object", "properties": { "globalId": { "type": "string", "description": "Global identifier", "format": "uuid" }, "localId": { "type": "string", "description": "Local identifier" }, "sourceId": { "type": "string", "description": "Source identifier", "format": "uuid" }, "marcPayload": { "type": "object", "description": "MARC payload in JSON" }, "inventoryPayload": { "type": "object", "description": "inventory payload" } }, "additionalProperties": false, "required": [ "globalId", "localId", "sourceId" ] }
- getglobalrecords()
Get records that satisfy CQL query with fields localId, sourceId, globalId.
GET /shared-index/records- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad request
OkapiFatalError – Internal error
Schema
{ "description": "Global records", "type": "object", "properties": { "items": { "description": "List of records", "type": "array", "items": { "type": "object", "$ref": "globalRecord.json" } }, "resultInfo": { "description": "Common result set information", "type": "object", "$ref": "resultInfo.json" } }, "additionalProperties": false, "required": [ "items" ] }
- getsource(id_)
Get source.
GET /shared-index/config/sources/{id}- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad request
OkapiRequestNotFound – Not Found
OkapiFatalError – Internal error
Schema
{ "description": "shared index match key", "type": "object", "properties": { "id": { "type": "string", "description": "match key identifier" }, "method": { "type": "string", "description": "method" }, "params": { "type": "object", "description": "parameter references" }, "update": { "type": "string", "enum": [ "ingest", "manual" ], "description": "ingest: update when records are ingested, manual: update only when initialize is called" } }, "additionalProperties": false, "required": [ "id", "method", "params" ] }
- getsources(**kwargs)
Get sources.
GET /shared-index/sources- Keyword Arguments
limit (int) – Limit the number of elements returned in the response (default: 10, minimum: 0)
query (str) – CQL query
offset (int) – Skip over number of elements (default is first element) (default: 0, minimum: 0)
- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad request
OkapiFatalError – Internal error
Schema
{ "description": "Sources", "type": "object", "properties": { "sources": { "description": "List of sources", "type": "array", "items": { "type": "object", "$ref": "source.json" } }, "resultInfo": { "description": "Common result set information", "type": "object", "$ref": "resultInfo.json" } }, "additionalProperties": false, "required": [ "sources" ] }
- ingestjobfinish(id_, **kwargs)
Finish ingest job with either rollback of commit.
DELETE /shared-index/shared-index/ingest-jobs/{id}- Keyword Arguments
commit (bool) – whether to commit (default: False)
- Raises
OkapiRequestError – Bad request
OkapiRequestNotFound – Not Found
OkapiFatalError – Internal error
- ingestjobinfo(id_)
Get ingest job information.
GET /shared-index/shared-index/ingest-jobs/{id}- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad request
OkapiRequestNotFound – Not Found
OkapiFatalError – Internal error
Schema
{ "description": "Ingest job info", "type": "object", "properties": { "autoRollBackTimeout": { "type": "integer", "description": "Timeout in seconds" } }, "additionalProperties": false }
- ingestjobrecord(ingestRecordChunk, id_)
Put records for job.
PUT /shared-index/shared-index/ingest-jobs/{id}- Parameters
ingestRecordChunk (dict) – See Schema below.
- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad request
OkapiRequestNotFound – Not Found
OkapiFatalError – Internal error
Schema
{ "description": "Ingest job records chunk", "type": "array", "items": { "type": "object", "properties": { "localId": { "type": "string", "description": "Local identifier" }, "delete": { "type": "boolean", "description": "If true, record is deleted. Default: false" }, "marcPayload": { "type": "object" }, "inventoryPayload": { "type": "object" } }, "additionalProperties": false, "required": [ "localId" ] } }
{ "description": "Ingest job records response", "type": "array", "items": { "type": "object", "properties": { "globalId": { "type": "string", "description": "Global identifier", "format": "uuid" }, "matchKeys": { "description": "Match keys for these records. Normally not provided for performance reasons, but client can ask for them", "type": "object" } }, "additionalProperties": false, "required": [ "globalId" ] } }
- initializematchkey(id_)
Recalculate match key across all records.
PUT /shared-index/config/matchkeys/{id}/initialize- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad request
OkapiRequestNotFound – Not Found
OkapiFatalError – Internal error
Schema
{ "description": "match key statistics", "type": "object", "properties": { "totalRecords": { "type": "integer", "description": "total records" }, "totalMatchkeysInitialized": { "type": "integer", "description": "total records initialized" }, "recordsWithMatchkeyEmpty": { "type": "integer", "description": "number of records with empty match key" }, "matchkeySingletons": { "type": "integer", "description": "number of records matching no other" } }, "additionalProperties": true, "required": [ "totalRecords" ] }
- oaiservice()
OAI service
GET /shared-index/oai- Raises
OkapiRequestError – Bad request
OkapiFatalError – Internal error
- postconfigmatchkey(matchKey)
Create match key
POST /shared-index/config/matchkeys- Parameters
matchKey (dict) – See Schema below.
- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad request
OkapiFatalError – Internal error
Schema
{ "description": "shared index match key", "type": "object", "properties": { "id": { "type": "string", "description": "match key identifier" }, "method": { "type": "string", "description": "method" }, "params": { "type": "object", "description": "parameter references" }, "update": { "type": "string", "enum": [ "ingest", "manual" ], "description": "ingest: update when records are ingested, manual: update only when initialize is called" } }, "additionalProperties": false, "required": [ "id", "method", "params" ] }
- postingestjob(ingestJobRequest)
Create ingest job
POST /shared-index/shared-index/ingest-jobs- Parameters
ingestJobRequest (dict) – See Schema below.
- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad request
OkapiFatalError – Internal error
Schema
{ "description": "Ingest job request", "type": "object", "properties": { "sourceId": { "type": "string", "description": "Source identifier", "format": "uuid" }, "autoRollBackTimeout": { "type": "integer", "description": "Timeout in seconds" } }, "additionalProperties": false, "required": [ "sourceId" ] }
- postsource(source)
Create source.
POST /shared-index/sources- Parameters
source (dict) – See Schema below.
- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad request
OkapiFatalError – Internal error
Schema
{ "description": "Shared Source", "type": "object", "properties": { "id": { "type": "string", "description": "source identifier", "format": "uuid" }, "name": { "type": "string", "description": "method" } }, "additionalProperties": false, "required": [ "id" ] }
- putconfigmatchkey(matchKey, id_)
Update match key configuration.
PUT /shared-index/config/matchkeys/{id}- Parameters
matchKey (dict) – See Schema below.
- Raises
OkapiRequestError – Bad request
OkapiRequestNotFound – Not Found
OkapiFatalError – Internal error
Schema
{ "description": "shared index match key", "type": "object", "properties": { "id": { "type": "string", "description": "match key identifier" }, "method": { "type": "string", "description": "method" }, "params": { "type": "object", "description": "parameter references" }, "update": { "type": "string", "enum": [ "ingest", "manual" ], "description": "ingest: update when records are ingested, manual: update only when initialize is called" } }, "additionalProperties": false, "required": [ "id", "method", "params" ] }
- putglobalrecords(ingestRecordRequest)
Create or update records.
PUT /shared-index/records- Parameters
ingestRecordRequest (dict) – See Schema below.
- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad request
OkapiFatalError – Internal error
Schema
{ "description": "Ingest job records request", "type": "object", "properties": { "sourceId": { "type": "string", "description": "Source identifier", "format": "uuid" }, "records": { "type": "array", "description": "Records", "$ref": "ingestRecordChunk.json" } }, "additionalProperties": false, "required": [ "sourceId", "records" ] }
{ "description": "Ingest job records response", "type": "array", "items": { "type": "object", "properties": { "globalId": { "type": "string", "description": "Global identifier", "format": "uuid" }, "matchKeys": { "description": "Match keys for these records. Normally not provided for performance reasons, but client can ask for them", "type": "object" } }, "additionalProperties": false, "required": [ "globalId" ] } }