Skip to content

Paper Search

Search a personal or lab library of papers by meaning.

Industry Level Difficulty Recommended mode
Education & research 1 of 5 Beginner flat
  • Keywords miss papers using different terms.
  • Libraries grow faster than memory.
  • Notes are scattered.
  1. Paper abstracts and paragraphs are embedded in SrvDB.
  2. Questions find relevant passages.
  3. Runs on a laptop.
  4. New papers added with upsert.
Today With Paper Search on SrvDB
Keyword search Concept search
Forgotten papers Rediscovered by meaning
Scattered notes One searchable library
  1. Extract text.
  2. Embed paragraphs.
  3. Search.
  4. Save findings.
  5. Add new papers.
  • Exact search (flat): every query compares against every stored vector, so results are exact and explainable.
  • upsert: inserts new items and replaces changed ones, so the knowledge base stays current.
  • Crash-safe persist(): after it returns, data survives a crash or power loss and reopens exactly as committed.
  • Fully offline: SrvDB runs in-process and never opens a network connection.
  • Literature search
  • Related-work drafting
  • Reading lists
  • Citation hunting
  • Thesis research
  • Grant writing

embed() is your embedding model (for example sentence-transformers, or a function that turns your records into feature vectors).

import json
import srvdb
db = srvdb.Database("./paper-search-db", dimension=768)
def ingest(items):
"""items: list of (id, text, metadata dict)"""
db.upsert(
ids=[i for i, _, _ in items],
embeddings=[embed(t) for _, t, _ in items],
metadatas=[json.dumps(m) for _, _, m in items],
)
db.persist() # crash-safe checkpoint
def related_passages(question, k=5):
hits = db.search(embed(question), k)
return [(json.loads(db.get(i)), round(score, 3)) for i, score in hits]
  • PDF extraction quality matters.
  1. Prototype: load a sample of real data with flat mode and check that searches return what an expert expects.
  2. Measure: if you move to an approximate mode, compare its results with flat on the same queries (recall).
  3. Pipeline: add continuous upsert and decide when to call persist().
  4. Harden: test restarts and crashes, add logging, review every output path with domain experts.
  5. Deploy: ship the database directory with the application or service.
Level Project What it does
1 · Beginner Paper Search (this page) Search a personal or lab library of papers by meaning.
2 · Intermediate Study Assistant Answers questions only from the student’s own course material.
3 · Advanced Reviewer Matcher Matches papers or proposals to suitable reviewers.
4 · Expert Research Group Brain A shared, searchable memory for a lab: notes, data descriptions, figures.
5 · Frontier Scientific Similarity Lab Similarity search over spectra, molecules and other scientific data.

See also: Use cases · Live examples (coming soon)