Search Service Description and Assumptions

Description

The CollectionSpace services supports a simple and limited query model for retrieving information from a CollectionSpace instance. The queries look and act a lot like standard SQL . For example, the following query can be use to find related Intake records for the object with CSID=3d219dca-fc8a-46db-bf23.

SELECT * FROM Relation WHERE relations_common:documentId1 = '3d219dca-fc8a-46db-bf23' AND relations_common:documentType2 = 'intakes') AND ecm:isProxy = 0 ORDER BY collectionspace_core:updatedAt DESC

Assumptions

For the most part, the client queries passed into the services undergo very little processing before being passed to the backend persistence provider -in this case Nuxeo's NXQL query processer. Therefore, it is the client's responsibility to ensure the queries are valid.

What will the result sets look like?
Are we supporting heterogeneous result sets -e.g., results for cataloging objects, loans, acquisitions, etc?

Key Concepts

  • Especially things that become common sense, and so usually missed by new reviewers

Dependencies

The CollectionSpace service will rely heavily on Nuxeo's query service. See the attached files for example NXQL queries. You can also follow this link to learn more about NXQL: https://doc.nuxeo.com/display/NXDOC/NXQL

Background Documentation