
ckanext-opensearch
ckanext-opensearch adds an OpenSearch interface to CKAN.
About
This extension adds three endpoints to a CKAN portal: opensearch/description.xml?, opensearch/search.atom? and opensearch/collection_search.atom?. Each endpoint accepts a query and returns an XML document.
opensearch/description.xm? is the endpoint for accessing the “description document” that describes the parameters accepted by the search.atom? and collection_search.atom endpoints. When using OpenSearch, a client will first access a description document, which tells it where and how to submit queries. OpenSearch search results also include links to description documents in order to enable the user to continue searching within a different collection of results, or with a different but related endpoint, etc. opensearch/description.xm? accepts a single parameter: osdd. The value of osdd must be either collection (for accessing the description document for collection search), dataset (for accessing the description document for dataset search, which is equivalent to CKAN’s package_search API or the normal dataset search on a portal’s GUI), or a collection ID (for accessing the description document of a specific collection. Searching within a collection works like dataset search but 1) the results are restricted to datasets in that collection and 2) the parameters may vary from collection to collection).
The expected workflow for two-step search is:
- User accesses the description document for
collection search.
- User performs a collection search using the parameters defined by the
collection description document.
- The search returns a list of collections that match the user’s search criteria.
- The user selects one of the collections to search within.
- The search results contain a link to the description docume