Literature Management Search Systems
Literature-management search systems retrieve papers, notes, citations, authors, datasets, and concepts. They need more than full-text search: a useful result may come from bibliographic metadata, a PDF passage, a tag, a citation edge, or a knowledge graph relation.
Four searchable surfaces
A practical schema has at least four searchable surfaces:
Text scoring can use BM25; graph scoring can use citation, co-author, method, or dataset edges from graph-based retrieval. The result page should expose which surface matched, otherwise users cannot tell whether a paper matched because of title text, a note, or a citation relation.
Worked example
This snippet ranks short paper titles with TF-IDF against a query and reports the highest-scoring paper.
from sklearn.feature_extraction.text import TfidfVectorizer
import numpy as np
papers = [
"Robertson BM25 probabilistic relevance framework",
"Malkov HNSW approximate nearest neighbor",
"Nogueira BERT passage reranking",
]
query = "BM25 relevance ranking"
X = TfidfVectorizer().fit_transform(papers + [query])
scores = (X[:-1] @ X[-1].T).toarray().ravel()
print("scores", [(i + 1, round(float(s), 3)) for i, s in enumerate(scores)])
print("top", int(np.argmax(scores) + 1))Observed output:
scores [(1, 0.403), (2, 0.0), (3, 0.0)]
top 1The lexical baseline finds the BM25 paper. A richer system would also return related HNSW or reranking papers through tags, citation paths, or a “retrieval methods” collection.
Caveats
Research libraries punish weak deduplication: one DOI with several PDFs, preprints, and citation formats fragments notes and backlinks. Search should preserve provenance for imported metadata and user annotations. For evaluation, build query sets from real research tasks, not only title lookup, and score with ranking metrics plus qualitative note-finding checks.
References
- Zotero Documentation: Collections and Tags
- Zotero Documentation: Adding Items to Zotero
- Crossref Documentation: REST API
Nav