{# Copyright (C) 2021 CERN. Copyright (C) 2024 KTH Royal Institute of Technology. Invenio App RDM is free software; you can redistribute it and/or modify it under the terms of the MIT License; see LICENSE file for more details. #} {%- set title = _("Search guide") %} {%- extends config.BASE_TEMPLATE %} {%- block page_body %}

Sökguide

Denna guide förklarar hur man skriver avancerade sökfrågor med hjälp av lättförståeliga exempel.

Enkel sökning (en eller flera termer)

Exempel: open science

Resultaten kommer att matcha poster som innehåller termerna open eller science i något fält. Observera att grundord används, så exempelvis kommer science även att matcha sciences. Sökresultaten rankas enligt en algoritm som tar hänsyn till dina söktermer.

Du kan kräva att båda termerna är med med hjälp av antingen + eller AND operatorn:

Exempel: +open +science eller open AND science

Du kan kräva att en eller flera termer inte är med med hjälp av antingen - eller NOT operatorn:

Exempel: -open +science eller NOT open AND science

Frassökning

Exempel: "open science"

Resultaten kommer att matcha poster som innehåller frasen open science i något fält.

Fältsökning

Exempel: metadata.title:open

Resultaten kommer att matcha poster som innehåller termen open i fältet metadata.title. Om du vill söka efter flera termer i titeln måste du gruppera termerna med parentes:

Exempel: metadata.title:(open science)

Se InvenioRDM-dokumentationen för en fullständig lista över fält du kan söka i.

Kombinerad enkel-, fras- eller fältsökning

Exempel: +metadata.title:"open science" -metadata.title:policy eller t.ex. metadata.title:(-open +science)

Du kan kombinera enkel-, fras- och fältsökning för att konstruera avancerade sökfrågor.

Intervallsökning

Exempel: metadata.publication_date:[2017 TO 2018] (notera att du måste skriva TO med versaler).

Resultaten kommer att matcha alla poster med ett publiceringsdatum mellan 2017-01-01 och 2018-01-01 (båda datumen inkluderade).

Observera att partiella datum utökas till fullständiga datum, t.ex.:

Använd hakparenteser ([]) för inkluderande intervall och måsvingar ({}) för exkluderande intervall, t.ex.:

Exempel på andra intervall:

Rankning/Sortering

Som standard sorteras alla sökningar enligt en intern rankningsalgoritm som poängsätter varje matchning mot din sökfråga. Både i användargränssnittet och REST API är det möjligt att sortera resultaten efter:

Reguljära uttryck

Reguljära uttryck är ett kraftfullt mönsterigenkänningsspråk som tillåter dig att söka efter specifika mönster i ett fält. Till exempel, om vi vill hitta alla poster med DOI-prefixet 10.5281 kan vi använda en sökning med reguljärt uttryck:

Exempel: metadata.subjects.identifier:/03yrm5c2[1,6]/

Var försiktig, det reguljära uttrycket måste matcha hela fältvärdet. Se syntax för reguljära uttryck för ytterligare detaljer.

Fält som saknar värden

Det är möjligt att söka efter poster som antingen saknar ett värde eller har ett värde i ett specifikt fält med hjälp av _exists_ och not _exists_ i kombination med fältnamn.

Exempel: not _exists_:metadata.additional_titles (alla poster utan metadata.additional_titles)

Exempel: _exists_:metadata.creators (alla poster med metadata.creators)

Avancerade söktekniker

Boosting

Du kan använda boost-operatorn ^ när en term är mer relevant än en annan. Till exempel kan du söka efter alla poster med frasen open science i antingen titel- eller beskrivnings- fältet, men ranka poster med frasen i titel fältet högre:

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

Fuzzy-sök

Du kan söka efter termer som är liknande men inte exakt samma som din sökterm med hjälp av fuzzy-operatorn ~.

Exempel: oepn~

Resultaten kommer att matcha poster med termer liknande oepn vilket till exempel även skulle matcha open.

Närhetssökningar

En frassökning med "open science" förväntar sig som standard att alla termer är i exakt samma ordning, och skulle därmed till exempel inte matcha en post som innehåller frasen "open access and science". En närhetssökning tillåter att termerna inte är i exakt följd och kan inkludera andra termer emellan. Graden av flexibilitet specificeras av ett efterföljande heltal:

Exempel: "open science"~5

Wildcard-tecken

Du kan använda wildcard-tecken i söktermer för att ersätta ett enda tecken (med ? operatorn) eller noll eller fler tecken (med * operatorn).

Exempel: ope? scien*

Wildcard-sökningar kan vara långsamma och bör normalt undvikas om möjligt.

{%- endblock page_body%}