Full-Library Search in Zotero, getest: 10,000 PDF's geïndexeerd in 7 minuten, query's in 19.5 ms
Je Zotero-bibliotheek bevat honderden — misschien wel tienduizenden — PDF's. „Ik herinner me een paper in mijn bibliotheek die dit behandeld heeft"… en dan? Door tags wurmen, op jaar sorteren, zoekwoorden raden. Tien minuten later ben je nog steeds aan het zoeken. Zotero's ingebouwde zoekfunctie kan een item vinden, maar beantwoordt geen vraag — en het zal al zeker niet de conclusies van 50 papers voor je synthetiseren.
PapersGPT's Full-Library Search is er precies voor gebouwd: vink één vakje aan, en je hele bibliotheek wordt een kennisbank die je in natuurlijke taal kunt bevragen — met directe antwoorden en aanklikbare citaten, niet met een lijst papers die je nog moet openen.
Geen concepten in deze post — alleen drie dingen: de benchmarkcijfers, hoe je het gebruikt, en waar het het meest oplevert.
Eerst de cijfers: 10,000 PDF's, nog steeds 19.5 ms
Officiële benchmarks draaiden volledige indexerings- en querytests op twee bibliotheekgroottes (data uit de open-source repo, 2.7k+ stars):
| Metriek | 1,000 PDF's | 10,000 PDF's |
|---|---|---|
| Ruwe data | 4.2 GB | 42 GB (~170k pages) |
| Indexeertijd | 51.5 s | 7m 01s |
| Gemiddelde querytijd | 13.1 ms | 19.5 ms |
| Geheugen (RSS) | 353 MB | 2.21 GB |
| Indexgrootte | 100 MB | 901 MB |
Drie cijfers om te onthouden:
- 10× zo'n grote bibliotheek, +6.4 ms per query. 13.1 ms → 19.5 ms — minder dan één netwerkroundtrip in je browser. In het dagelijks gebruik voelt zoeken in 100 papers identiek aan zoeken in 10,000.
- 170,000 pagina's in 7 minuten — een eenmalige investering. Dat is zo'n 400 pagina's per seconde. Na de indexering blijft elke query in millisecondenbereik, en nieuw toegevoegde papers worden incrementeel geïndexeerd. Opnieuw opbouwen is nooit nodig.
- 42 GB aan ruwe PDF's comprimeert naar een index van 901 MB (~2%) — precies daarom draait dit comfortabel op een gewone laptop.
Hoe het werkt
Full-Library Search uploadt je PDF's niet naar iemands cloud — alles gebeurt op jouw machine:
- Een native C++-engine. De indexerings- en retrievalkern is geschreven in C++ — dezelfde taalklasse als database-engines en handelssystemen — zonder de overhead van een Python/Node-interpreter op de hot path van het zoeken.
- Structurele indexering, geen „wazige" vectorgebaseerde semantische zoekopdracht. De engine begrijpt de documentstructuur (waar de titel, secties, abstract en referenties staan) en koppelt die aan BM25-volledige-tekstranking — hetzelfde rankingmodel achter moderne zoekmachines, voor de relevantie van wetenschappelijke tekst veel betrouwbaarder dan generieke vectormatching.
- Nul netwerkroundtrips. Geen uploadwachtrijen, geen indexering aan serverzijde, geen API-latentie. De snelheid die je ziet is de snelheid van je eigen machine.
Vanuit de gebruiker bekeken: vier scenario's die zich uitbetalen
1. Related Work schrijven: laat 50 papers zichzelf op een rij zetten
„Welke papers in mijn bibliotheek gebruiken transformers voor tijdreeksvoorspelling, en tegen welke baselines vergelijken ze zich?"
Full-Library Search veegt de hele bibliotheek, rangschikt op relevantie en synthetiseert — achter elke claim zit een citaat dat meteen naar de bron springt. Jij verifieert in plaats van zoekt.
2. Die paper vinden waarvan je de titel was vergeten
„Ik las maanden geleden iets over het tegengaan van hallucinaties met synthetische data — een Duitse groep, geloof ik."
Geen titel nodig; omschrijf de inhoud. De zoekopdracht dekt titels, auteurs, tags, abstracts plus je eigen annotaties en notities in Zotero — de kanttekening die je destijds schreef is de beste query die je vandaag kunt intypen.
3. Controle op tegenstrijdige evidentie: een verzekering vóór je verdediging
De gevorderde vorm hiervan is Global Library Synthesis: tot 10,000+ documenten tegelijk analyseren om onderzoekstrends, de evolutie van terminologie en — vooral — tegenstrijdige conclusies in kaart te brengen. „Welke ondersteunende en weerleggende evidentie bevat mijn bibliotheek over effect X?" Een vraag die met de hand een week kost, kost hier minuten.
4. Tien minuten voor de groepsbijeenkomst
„Groepeer de papers in mijn bibliotheek over deze biomarker op steekproefgrootte, grootste eerst, en vat elke groep samen."
Het antwoord belandt in het chatvenster — kopieerbaar, op te slaan als Zotero-notitie, met elk citaat traceerbaar.
Hoe het verschilt van Zotero's ingebouwde zoekfunctie
| Zotero's ingebouwde zoekfunctie | PapersGPT Full-Library Search | |
|---|---|---|
| Geeft terug | Een lijst met items | Directe antwoorden + aanklikbare citaten |
| Synthese over documenten heen | ❌ | ✅ Vergelijking tussen papers, analyse van tegenstrijdige evidentie |
| Querystijl | Trefwoordmatching | Natuurlijke taal (elke taal) |
| Dekking | Metadata + volledige-tekstindex | Volledige tekst + je annotaties en notities |
| Typische latentie | Seconden | ~19.5 ms tot resultaat |
| Samenvattingen | ❌ | ✅ Aangedreven door 30+ LLMs |
Ze vullen elkaar aan: Zotero's zoekfunctie vindt het item; Full-Library Search geeft je het antwoord.
Privacy: het werkt in vliegtuigmodus
Indexering en retrieval zijn 100% lokaal, zonder cloud-API-afhankelijkheid. In de praktijk:
- Vliegtuigmodus-vriendelijk: zoeken en indexeren werken volledig offline.
- Nul bytes lekkage: je PDF's, notities, annotaties en queries verlaten je machine nooit.
- Een volledig offline workflow: koppel het aan een lokaal model via Ollama (of de ingebouwde one-click downloads van open-source modellen) en de hele lus — van vraag tot antwoord — draait zonder netwerk. Ideaal voor ongepubliceerde data, intern bedrijfsonderzoek en compliancegevoelig werk.
En als je je hele bibliotheek wilt aansluiten op Claude Code, Cursor of vergelijkbare agents, kan de Zotero MCP Server de volledige bibliotheek doorzoeken zonder Zotero zelfs te openen — dezelfde lokale index, op jouw voorwaarden.
Combineer met Literature Radar: ontdekken → opslaan → doorzoekbaar
Literature Radar blijft nieuwe papers aan je bibliotheek toevoegen (Explore om te ontdekken, Track om te abonneren), terwijl Full-Library Search elk ervan — een tien jaar oude klassieker of de preprint van gisteren — omzet in iets dat je meteen kunt bevragen. De ene beheert de instroom, de andere het terugvinden. Samen sluiten ze de cirkel.
Aan de slag
- Download de PapersGPT-plugin (Zotero 7+), installeer hem en vink Search entire library aan in het chatpaneel.
- Vraag in natuurlijke taal — antwoorden komen met citaten.
- Full-Library Search zit in elk betaald abonnement; nieuwe gebruikers kunnen het eerst proberen via de gratis proefperiode.
FAQ
Worden mijn PDF's naar een server geüpload?
Nee. Indexering en retrieval draaien volledig lokaal — de benchmarks hierboven zijn gedraaid zonder enige afhankelijkheid van externe API's. Je PDF's, notities en queries verlaten je machine nooit.
Welke bibliotheekgrootte wordt ondersteund?
Alles van 100 tot 10,000+ papers. De officiële benchmarks dekken 1,000 PDF's (51.5 s indexering) en 10,000 PDF's (7m 01s indexering, 19.5 ms query's). Indexeringskosten schalen ruwweg lineair; querylatentie blijft constant.
Hoe verschilt dit van Zotero's ingebouwde volledige-tekstzoekfunctie?
Zotero's volledige-tekstzoekfunctie geeft een lijst met treffers die je één voor één moet openen en controleren. Full-Library Search geeft een gesynthetiseerd antwoord over documenten heen, met aanklikbare citaten, en dekt ook je annotaties en notities.
Kan ik vragen stellen in mijn eigen taal?
Ja. De vraagtaal volgt het LLM dat je kiest — Chinees, Engels en andere talen werken allemaal; de index zelf verwerkt volledige tekst in elke taal.
Werkt het volledig offline?
Indexering en retrieval wel (puur lokaal). Antwoorden genereren vereist een netwerk als je een cloudmodel kiest (GPT, Claude, DeepSeek enz.); schakel over op een lokaal model via Ollama en de hele lus draait offline.