Aller au contenu

Search Service

Q Search

Note

GeoNetwork 3

The Q Search endpoint allows you to query the catalog programmatically. It is available in the local catalog at http://localhost:8080/geonetwork/srv/eng/q (otherwise substitute your catalog URL).

Query results parameters

The following parameters can be appended to your request to format the results:

  • _content_type=json: returns results in json format. If this parameter is not provided, then the results are returned in xml format.
  • sortBy: sorts the results by different criteria (example: sortBy=relevance):
    • relevance (default sorting method if not provided)
    • title (metadata title)
    • changeDate (metadata datestamp)
    • rating
    • popularity
    • denominatorDesc
    • denominatorAsc
  • sortOrder=reverse: Used to sort alphabetically. Note this will sort in ASCENDING order (eg A - Z)
  • from, to: Used to return a subset of the results, usually for pagination (example: from=1&to=20)
  • fast: Used to indicate the information to return. Possible values:

Query filter parameters

You can search on any field(s) indexed in Lucene. For a complete reference see https://github.com/geonetwork/core-geonetwork/blob/master/schemas/iso19139/src/main/plugin/iso19139/index-fields/default.xsl

Note you can query the Lucene index graphically,using a Java-based graphical tool such as Luke. Version 4.10.4 is required to work with the version of Lucene bundled with GeoNetwork. Download the jar file where you can access the GeoNetwork index files, then execute with:

java -jar luke-with-deps.jar

Then follow the instructions in the tool.

Most relevant fields:

There are some additional query fields, that use the content from the Lucene field any.

  • or: extract the tokens of the query parameter to return the results that contain at least 1 of the tokens
  • without: extract the tokens of the query parameter to return the results that don't contain any of the tokens.
  • phrase: return the results that contain the exact text as provided in the search query parameter.
  • title: metadata title.
  • abstract: metadata abstract.
  • topicCat: metadata topic categories.
  • keyword: metadata keywords.
  • type: hierarchyLevel (dataset, service, etc.)

If several tokens are included in the query, an AND query with all the tokens is executed. For example, title=roads&topicCat=biota. This query will return the results that contain roads in the title AND have the topic category biota.

An OR query of several fields can be executed using the format: field1_OR_field2_OR_... =value. For example, title_OR_abstract=roads returns the metadata that contain roads in the title OR the abstract.

Additionally an OR query of several values for a single field can be executed, if the Lucene configuration for that field allows it, with the following format: field=value1 or value2 or ... For example topicCat=biota or farming, returns the metadata where the topic category is either biota OR farming. If the query was executed as topicCat=biota&topicCat=farming then only the metadata with BOTH topic categories would be returned.

Date Searches

There are a number of ways that you can search by date. Date searches should be of the form YYYY-MM-DD

  • dateFrom/dateTo: uses the changeDate parameter in the index.
  • creationDateFrom/To: uses the creation date.
  • revisionDateFrom/To: uses the revision date.

Query examples

Query with any field for metadata containing the string 'infrastructure', returning json, using the fast index to return results, and returning the fields configured in config-summary.xml:

http://localhost:8080/geonetwork/srv/eng/q?any=infrastructure&_content_type=json&fast=index&from=1&resultType=details&sortBy=relevance&to=20

Query datasets with title containing the string 'infrastructure', returning json, using the fast index to return results, returning the fields configured in config-summary.xml and returning only the first 20 results (ordered by relevance):

http://localhost:8080/geonetwork/srv/eng/q?title=infrastructure&type=dataset&_content_type=json&fast=index&from=1&resultType=details&sortBy=relevance&to=20

Query datasets with a revision date in June 2019 using the fast index to return results, returning the fields configured in config-summary.xml and returning only the first 20 results (ordered by relevance):

http://localhost:8080/geonetwork/srv/eng/q?_content_type=json&revisionDateFrom=2019-06-01&revisionDateTo=2019-06-30&fast=index&from=1&resultType=details&sortBy=relevance&to=20