Search guide
Learn how to use advanced search queries to find exactly what you're looking for.

Ranking/Sorting

By default all searches are sorted according to an internal ranking algorithm that scores each match against your query. In both the user interface and REST API, it's possible to sort the results by:

  • Most recent
  • Best match
  • Oldest
  • Most viewed
  • Most downloaded

Regular expressions

Regular expressions are a powerful pattern matching language that allow to search for specific patterns in a field. For instance if we wanted to find all records with a DOI-prefix 10.5281 we could use a regular expression search:

Example: pids.doi.identifier:/10\.5281.*/

Careful, the regular expression must match the entire field value. See the regular expression syntax for further details.

Missing values

It is possible to search for records that either are missing a value or have a value in a specific field using the _exists_ and NOT _exists_ field names.

Example: NOT _exists_:metadata.additional_titles (all records without metadata.additional_titles)

Example: _exists_:metadata.creators (all records with metadata.creators)

Advanced concepts

Boosting

You can use the boost operator ^ when one term is more relevant than another. For instance, you can search for all records with the phrase open science in either title or description field, but rank records with the phrase in the title field higher:

Example: metadata.title:"open science"^5 metadata.description:"open science"

Fuzziness

You can search for terms similar to but not exactly like your search term using the fuzzy operator ~.

Example: oepn~

Results will match records with terms similar to oepn which would e.g. also match open.

Proximity searches

A phrase search like "open science" by default expect all terms in exactly the same order, and thus for instance would not match a record containing the phrase "open access and science". A proximity search allows that the terms are not in the exact order and may include other terms in between. The degree of flexibility is specified by an integer afterwards:

Example: "open science"~5

Wildcards

You can use wildcards in search terms to replace a single character (using ? operator) or zero or more characters (using * operator).

Example: ope? scien*

Wildcard searches can be slow and should normally be avoided if possible.