Functies / Zoekresultaten sorteren en relevantie

Zoekresultaten sorteren en relevantie

Sorteer de resultaten van Smart Search op datum of relevantie en stel een gelijkenisdrempel in, zodat gefilterde zoekopdrachten alleen foto's tonen die er echt bij passen.

ZoekenCLIPSorterenRelevantie Documentatie
Smart Search in een Travel Memories-space met natuurfoto's en een zichtbare sorteerkeuze in de bovenste balk

Relevantie is niet altijd wat je wilt

CLIP Smart Search sorteert treffers op visuele gelijkenis - handig wanneer je "de beste match" zoekt, maar minder nuttig wanneer je wilt weten wanneer iets is gebeurd. Bij het zoeken naar "verjaardagstaart" zou het net zo makkelijk moeten zijn om "de nieuwste" als "de meest gelijkende" treffers te tonen.

Een nieuw sorteermenu staat naast de zoekbalk en biedt drie modi: Relevantie (standaard - hoogste gelijkenis eerst), Nieuwste en Oudste. Bij het wisselen van modus worden de resultaten direct opnieuw gesorteerd, zonder dat de zoekopdracht opnieuw start.

Eerst ophalen, dan sorteren

Op datum gesorteerde resultaten gebruiken een tweefasige CTE: in de eerste fase worden de top 500 treffers op vectorgelijkenis opgehaald, in de tweede fase wordt die set chronologisch opnieuw gesorteerd. Je ziet nog steeds alleen foto's die bij de zoekopdracht passen - alleen nu op datum in plaats van op CLIP-zekerheid. Eén roundtrip, en de paginering blijft stabiel tijdens het sorteren.

Resultaten van Smart Search gesorteerd op nieuwste, gegroepeerd in datumsecties zoals januari 2026 en mei 2020 met infinite scroll

Datumgroepen en infinite scroll

Wanneer je Nieuwste of Oudste kiest, worden de resultaten per maand gegroepeerd - januari 2026, mei 2020 enzovoort - zodat de tijdlijn meteen leesbaar is. Infinite scroll treedt in werking zodra je het einde van de lijst nadert, zodat grotere reeksen treffers geen pagineerklikken vereisen.

Dit werkt op de hoofdtijdlijn (/photos) en in elke Shared Space - dezelfde zoekervaring, dezelfde sorteeropties, dezelfde datumgroepering. Smart Search op /photos kan zelfs spaces meenemen die je aan je tijdlijn hebt vastgezet, zodat één zoekopdracht je hele bibliotheek bestrijkt.

Een relevantiedrempel voor gefilterde zoekopdrachten

Wanneer je tekstzoeken combineert met metadatafilters - bijvoorbeeld "forest" samen met een bepaald land - komen er soms foto's terug die wel aan het filter voldoen, maar nauwelijks iets met de zoekopdracht te maken hebben. Dat gebeurt omdat CLIP alle foto's in de gefilterde set teruggeeft, gesorteerd op gelijkenis. Zelfs de zwakste treffers verschijnen dus nog.

De nieuwe beheerinstelling Max Search Distance voegt een harde bovengrens toe. Resultaten boven de ingestelde cosinusafstand worden vóór de paginering uitgesloten, zodat een zoekopdracht óf relevante foto's oplevert óf helemaal niets - nooit irrelevante opvulresultaten.

Beheer Smart Search met het veld Max search distance op 0.75 en uitleg over het afstemmen

De drempel afstemmen

De instelling staat onder Beheer → Machine Learning → Smart Search. Waarden zijn cosinusafstanden tussen 0 (identiek) en 2 (tegengesteld). 0.75 is een goede startwaarde - streng genoeg om ruis te filteren, maar ruim genoeg voor abstracte zoekopdrachten. Lagere waarden (0.5) behouden alleen sterke visuele treffers; hogere waarden (1.0) laten bredere treffers door.

Nog iets belangrijks: CLIP-embeddings clusteren vaak dicht op elkaar, dus kleine wijzigingen in de drempel kunnen een groot effect hebben op het aantal treffers - dat is normaal. Verschillende CLIP-modellen produceren verschillende afstandsverdelingen; als je van model wisselt, moet je de waarde meestal opnieuw afstemmen. Tekst-naar-beeld-zoekopdrachten hebben bovendien vaak grotere afstanden dan beeld-naar-beeld-zoekopdrachten; een waarde die voor tekst werkt, is meestal ook ruim genoeg voor de rest.

De standaardwaarde is 0 (uitgeschakeld), zodat het bestaande gedrag behouden blijft totdat je de functie actief inschakelt.

Lees de volledige documentatie op GitHub

Klaar om Gallery op je eigen server te draaien? In 5 minuten geïnstalleerd, en de demo blijft beschikbaar om snel iets te testen.