(Was al via Bluesky aangegeven, even for the record)
van Dijk zonder aanhalingstekens is een impliciete AND, en één van de twee woorden komt in vrijwel elk document voor. De dienst doet er ruim tien seconden over en antwoordt dan met HTTP 500 en een HTML-foutpagina. Dezelfde woorden mét aanhalingstekens zijn in twee tienden van een seconde klaar en leveren gewoon vijf treffers op.
Gemeten op 2026-08-15, telkens één verzoek per vorm, met pauzes ertussen:
| Zoekopdracht |
Antwoord |
Tijd |
van Dijk |
HTTP 500 |
10,9 s |
Ton van Dijk |
HTTP 500 |
10,3 s |
de stikstof |
HTTP 500 |
20,9 s |
stikstof van |
HTTP 500 |
10,1 s |
"van Dijk" |
HTTP 200, 5 treffers |
0,2 s |
"stikstof van" |
HTTP 200, 280 treffers |
1,3 s |
van |
HTTP 200, 280 treffers |
0,4 s |
Dijk |
HTTP 200, 280 treffers |
0,5 s |
Ton Dijk |
HTTP 200, 280 treffers |
1,4 s |
minister stikstof |
HTTP 200, 280 treffers |
0,6 s |
Het gaat dus niet om het aantal woorden en ook niet om de AND als zodanig: Ton Dijk en minister stikstof gaan prima. Het gaat om de AND met een woord dat een groot deel van de index raakt. Losse woorden zijn ook geen probleem, want dan stopt het bij de 280 rijen van punt 01; het duurt pas als de posting lists gecombineerd moeten worden.
Twee dingen maken dit lastiger dan het hoeft te zijn:
- De website zelf weet het al en zegt het verkeerd.
search.html?q=van+Dijk doet dezelfde POST, krijgt dezelfde 500, en mapt dat op Geen resultaten - probeer "van Dijk". De suggestie is precies goed, maar "geen resultaten" is niet waar: er zijn vijf documenten. Wie het niet controleert, concludeert dat er niets over die persoon geschreven is.
- Aan de buitenkant is het niet te onderscheiden van een zoekopdracht met een syntaxfout (punt opentk/03) of van een overbelaste dienst (#139). Alle drie komen terug als 500 met HTML. Een consumer kan dus niet bepalen of hij zijn vraag moet aanpassen, opnieuw moet proberen of moet wachten.
Reproductie
Waargenomen op 2026-08-15. Deze pagina doet de POST en toont na ongeveer elf seconden "geen
resultaten", terwijl er vijf documenten zijn:
https://berthub.eu/tkconv/search.html?q=van+Dijk
Dat er wél treffers zijn, blijkt uit dezelfde woorden als frase:
https://berthub.eu/tkconv/search.html?q=%22van+Dijk%22
In het netwerkverkeer in DevTools van de eerste pagina is te zien dat POST /tkconv/search een 500 geeft.
Verwachting
Eén van deze drie, in deze volgorde van voorkeur:
- Antwoord met een resultaat in plaats van met een fout. Als de zoekopdracht te duur is, is een nette 4xx of een JSON-antwoord met een reden en de suggestie die de pagina nu al toont (
probeer "van Dijk") genoeg. Dan kan een consumer het automatisch overdoen.
- Maak de suggestie op de pagina onderscheidend. "Geen resultaten" hoort er niet te staan als er geen zoekopdracht is uitgevoerd. Iets als "deze zoekopdracht is te breed, probeer
"van Dijk"" dekt de lading. Dat kan ook eventueel door in de HTTP 500 een JSON error mee te sturen als niet makkelijk anders kan.
- Overweeg het te voorkomen in plaats van te melden, bijvoorbeeld door een AND met een woord dat boven een drempel uitkomt zelf als frase te proberen. Dat is wel meteen de grootste ingreep van de drie en het verandert wat de gebruiker vroeg, dus punt 1 en 2 zijn belangrijker.
Link Back
opentk/07
(Was al via Bluesky aangegeven, even for the record)
van Dijkzonder aanhalingstekens is een impliciete AND, en één van de twee woorden komt in vrijwel elk document voor. De dienst doet er ruim tien seconden over en antwoordt dan met HTTP 500 en een HTML-foutpagina. Dezelfde woorden mét aanhalingstekens zijn in twee tienden van een seconde klaar en leveren gewoon vijf treffers op.Gemeten op 2026-08-15, telkens één verzoek per vorm, met pauzes ertussen:
van DijkTon van Dijkde stikstofstikstof van"van Dijk""stikstof van"vanDijkTon Dijkminister stikstofHet gaat dus niet om het aantal woorden en ook niet om de AND als zodanig:
Ton Dijkenminister stikstofgaan prima. Het gaat om de AND met een woord dat een groot deel van de index raakt. Losse woorden zijn ook geen probleem, want dan stopt het bij de 280 rijen van punt 01; het duurt pas als de posting lists gecombineerd moeten worden.Twee dingen maken dit lastiger dan het hoeft te zijn:
search.html?q=van+Dijkdoet dezelfde POST, krijgt dezelfde 500, en mapt dat opGeen resultaten - probeer "van Dijk". De suggestie is precies goed, maar "geen resultaten" is niet waar: er zijn vijf documenten. Wie het niet controleert, concludeert dat er niets over die persoon geschreven is.Reproductie
Waargenomen op 2026-08-15. Deze pagina doet de POST en toont na ongeveer elf seconden "geen
resultaten", terwijl er vijf documenten zijn:
https://berthub.eu/tkconv/search.html?q=van+Dijk
Dat er wél treffers zijn, blijkt uit dezelfde woorden als frase:
https://berthub.eu/tkconv/search.html?q=%22van+Dijk%22
In het netwerkverkeer in DevTools van de eerste pagina is te zien dat
POST /tkconv/searcheen 500 geeft.Verwachting
Eén van deze drie, in deze volgorde van voorkeur:
probeer "van Dijk") genoeg. Dan kan een consumer het automatisch overdoen."van Dijk"" dekt de lading. Dat kan ook eventueel door in de HTTP 500 een JSON error mee te sturen als niet makkelijk anders kan.Link Back
opentk/07