Distributed Searching

Note

  • in CSW mode, distributed search must be configured against remote CSW services

  • in OGC API - Records mode, distributed search must be configured against remote OGC API - Records services

Note

Your server must be able to make outgoing HTTP requests for this functionality.

CSW 2 / 3

pycsw has the ability to perform distributed searching against other CSW servers. Distributed searching is disabled by default; to enable, federatedcatalogues must be set. A CSW client must issue a GetRecords request with csw:DistributedSearch specified, along with an optional hopCount attribute (see subclause 10.8.4.13 of the CSW specification). When enabled, pycsw will search all specified catalogues and return a unified set of search results to the client. Due to the distributed nature of this functionality, requests will take extra time to process compared to queries against the local repository.

OGC API - Records

Experimental support for distibuted searching is available in pycsw’s OGC API - Records support to allow for searching remote services. The implementation uses the same approach as described above, operating in OGC API - Records mode.

Note

The federatedcatalogues directives must point to an OGC API - Records collections endpoint.

federatedcatalogues:
    - https://example.org/collections/collection1
    - https://example.org/collections/collection2

With the above configured, a distributed search can be invoked as follows:

http://localhost/collections/metadata:main/items?distributed=true