Skip to main content
Ctrl+K
Antarctic Metadata Catalogue - Home
  • Antarctic Metadata Catalogue
  • Getting Started
  • Connected Data Portals
  • FAIR Data
    • Metadata Guidance
    • Data Formatting
      • Tabular Data
      • NetCDF Data
      • Darwin Core
    • Data Archiving
  • Community Data Principles
    • Principles
  • Tools
  • Technical
    • Site Map
    • Schema.org
    • Catalogue Service for the Web
    • Search
  • .md

Search

Contents

  • Keyword
  • Records carrying data
  • Keyword + data filter
  • All records

Search#

GeoNetwork’s legacy Q Search endpoint (/srv/eng/q) has been replaced by an ElasticSearch API. All queries use HTTP POST to:

https://antcat.antarcticanz.govt.nz/geonetwork/srv/api/search/records/_search

The request body is JSON; the response is JSON. The examples below use Python (requests) and curl.


Keyword#

Search across all fields for a term.

import requests

url = "https://antcat.antarcticanz.govt.nz/geonetwork/srv/api/search/records/_search"

query = {
    "from": 0,
    "size": 10,
    "query": {
        "query_string": {
            "query": "ocean"
        }
    }
}

response = requests.post(url, json=query)
records = response.json()["hits"]["hits"]
curl -X POST "https://antcat.antarcticanz.govt.nz/geonetwork/srv/api/search/records/_search" \
  -H "Content-Type: application/json" \
  -d '{"from":0,"size":10,"query":{"query_string":{"query":"ocean"}}}'

Records carrying data#

Filter to records that include a data download link.

query = {
    "from": 0,
    "size": 10,
    "query": {
        "query_string": {
            "query": '+linkProtocol:"WWW:DOWNLOAD-1.0-http--download"'
        }
    }
}

response = requests.post(url, json=query)
records = response.json()["hits"]["hits"]
curl -X POST "https://antcat.antarcticanz.govt.nz/geonetwork/srv/api/search/records/_search" \
  -H "Content-Type: application/json" \
  -d '{"from":0,"size":10,"query":{"query_string":{"query":"+linkProtocol:\"WWW:DOWNLOAD-1.0-http--download\""}}}'

Keyword + data filter#

Combine a text search with the download filter.

query = {
    "from": 0,
    "size": 10,
    "query": {
        "query_string": {
            "query": 'ocean +linkProtocol:"WWW:DOWNLOAD-1.0-http--download"'
        }
    }
}

response = requests.post(url, json=query)
records = response.json()["hits"]["hits"]
curl -X POST "https://antcat.antarcticanz.govt.nz/geonetwork/srv/api/search/records/_search" \
  -H "Content-Type: application/json" \
  -d '{"from":0,"size":10,"query":{"query_string":{"query":"ocean +linkProtocol:\"WWW:DOWNLOAD-1.0-http--download\""}}}'

All records#

Return all public catalogue records. Increase size or use from to paginate.

query = {
    "from": 0,
    "size": 1000,
    "query": {
        "match_all": {}
    }
}

response = requests.post(url, json=query)
records = response.json()["hits"]["hits"]
total   = response.json()["hits"]["total"]["value"]
curl -X POST "https://antcat.antarcticanz.govt.nz/geonetwork/srv/api/search/records/_search" \
  -H "Content-Type: application/json" \
  -d '{"from":0,"size":1000,"query":{"match_all":{}}}'

previous

Catalogue Service for the Web

Contents
  • Keyword
  • Records carrying data
  • Keyword + data filter
  • All records

By Mike Meredyth-Young