# Søgning

3 af 5 understøttet
Kilde: https://plasapi.com/da/funktioner/search-and-discovery/search/

Lad lånerne finde værker med fritekst, få forslag mens de skriver, og indsnævre resultatet med de filtre bibliotekssystemet tilbyder.

## 1.1.1 Søgning — Understøttet

Find værker med fritekst, med personer ved siden af titlerne.

### Det kan du bygge

Et søgefelt der giver værker med deres formater og tilgængelighed. Personer kommer tilbage som deres egen slags resultat, så låneren kan gå direkte til det en forfatter har skrevet.

### Typisk flow

1. Låneren skriver et søgeord.
2. Klienten sender det til `SearchWorks` og viser de værker der passer.
3. Personer fra `SearchAgents` kan vises ved siden af.
4. Låneren åbner et værk eller indsnævrer resultatet med filtre (1.1.4).

### Det leverer API'et

- `size` er en ønsket sidestørrelse. Provideren kan returnere flere eller færre resultater.
- Tilgængeligheden pr. format kommer fra `GetHoldings`.

### Kald i API'et

Slås til i konfigurationen: `GetSearchConfiguration`

Kaldene bag visningen

- [GET /work/search](https://plasapi.com/da/provider/v0.6.7/work/#SearchWorks) — Search Works
- [GET /holdings](https://plasapi.com/da/provider/v0.6.7/holding/#GetHoldings) — Get holdings
- [GET /agent/search](https://plasapi.com/da/provider/v0.6.7/agent/#SearchAgents) — Search Agents

## 1.1.3 Søgeforslag — Understøttet

Foreslå værker, personer, emner og søgninger mens låneren skriver.

### Det kan du bygge

Forslag under søgefeltet der fører låneren direkte til et værk, en person eller et emne, eller gør søgeordet færdigt.

### Typisk flow

1. Låneren begynder at skrive.
2. Klienten kalder `GetSuggestions` med det der er skrevet indtil nu.
3. Låneren vælger et forslag og går direkte til det, eller gør søgningen færdig.

### Det leverer API'et

- Et forslag har én af fire typer: `work`, `contributor`, `subject` eller `query`. `types` begrænser hvilke der returneres.
- `GetSearchConfiguration` fortæller om provideren tilbyder forslag (`disabled`), og hvilke filtre de tager.

### Kald i API'et

Slås til i konfigurationen: `GetSearchConfiguration`

- [GET /suggestions](https://plasapi.com/da/provider/v0.6.7/suggestion/#GetSuggestions) — Get Suggestions

## 1.1.4 Filtrér og sortér søgeresultater — Understøttet

Indsnævr og ordn et søgeresultat efter format, sprog, målgruppe, emne og mere.

### Det kan du bygge

Filtre og sortering ved siden af resultatet, bygget af det bibliotekssystemet faktisk tilbyder. Låneren ser kun valg der findes hos provideren.

### Typisk flow

1. Klienten læser de tilgængelige filtre og sorteringer fra `GetSearchConfiguration`.
2. Låneren vælger en eller flere værdier.
3. Klienten gentager søgningen med `filter` og `sort` på `SearchWorks`.

### Det leverer API'et

- Værdier i samme filter kombineres med OR, forskellige filtre med AND. Eksempel: `filter[plas.mediaTypes]=book,cd&filter[plas.subjects]=dance`.
- `facet` returnerer hvor mange resultater hver værdi giver, så klienten kan vise antallet ved valgene.

### Kald i API'et

I denne rækkefølge

1. [GET /configuration/search](https://plasapi.com/da/provider/v0.6.7/configuration/#GetSearchConfiguration) — Get search configuration
2. [GET /work/search](https://plasapi.com/da/provider/v0.6.7/work/#SearchWorks) — Search Works

## 1.1.5 Søg med et forespørgselssprog — Ikke endnu

Søg med et forespørgselssprog som CQL.

> Ikke i PLAS endnu. Funktionen er ikke understøttet i dag. Beskrivelsen viser hvad den gør, så du kan se sammenhængen med resten.

## 1.1.6 Avanceret feltsøgning — Ikke endnu

Søg i et bestemt felt, fx titel eller forfatter.

> Ikke i PLAS endnu. Funktionen er ikke understøttet i dag. Beskrivelsen viser hvad den gør, så du kan se sammenhængen med resten.
