Access resource data via a web API with powerful query support. Further information in the main CKAN Data API and DataStore documentation.
The Data API builds directly on ElasticSearch, with a resource API endpoint being equivalent to a single index 'type' in ElasticSearch. This means you can directly re-use ElasticSearch client libraries when connecting to the API endpoint.
| Base | ${datastore_api} |
|---|---|
| Query |
${datastore_api}/_search
|
| Query example |
${datastore_api}/_search?size=5&pretty=true
|
| Schema (Mapping) |
${datastore_api}/_mapping?pretty=true
|
${datastore_api}/_search?size=5&pretty=true
title field)
${datastore_api}/_search?q=title:jones&size=5&pretty=true
${datastore_api}/_mapping?pretty=true
${datastore_api}
A simple ajax (JSONP) request to the data API using jQuery.
var data = {
size: 5 // get 5 results
q: 'title:jones' // query on the title field for 'jones'
};
$.ajax({
url: '${datastore_api}/_search',
data: data,
dataType: 'jsonp',
success: function(data) {
alert('Total results found: ' + data.hits.total)
}
});
import urllib
url = '${datastore_api}/_search?size=5&q=title:jones'
fileobj = urllib.urlopen(url)
print fileobj.read()