Which command
Several phrasings, one call
arxiv_id, re-sorted. Caps: 8 queries for search, 4 for semantic-search; the server returns at most 50 results per call — paginate with --offset (clamped at 500; 200 for semantic-search). In list mode you lose which query found which paper.
Read the ranking honestly
search — recency is under-ranked
search — recency is under-ranked
BM25 blended with citation counts: a recent, low-citation paper ranks far below an older, well-cited one. An empty recency window is a ranking artifact, not proof of absence. Every response carries
index_latest_pub_month — check it before concluding a paper doesn’t exist.excerpts — zero hits ≠ absence
excerpts — zero hits ≠ absence
Tokenized OR matching (quoted phrases exact). Check
matched_terms, missing_terms, doc_found, full_text_indexed before treating zero excerpts as absence.Two indexes, different freshness
Two indexes, different freshness
Full-text (
search, excerpts) and embeddings (semantic-search) are refreshed on different schedules and can differ. There’s no published cadence — use index_latest_pub_month.Filters and formats
search: --date-from 2024-06 --date-to 2025 (month precision; a bare year in --date-to means December), --author "Vaswani". semantic-search: --year-min, --year-max. --format json|bibtex|csv on search, semantic-search, related, list-papers. --envelope wraps direct-command JSON as {meta, data} for scripts. CLI reference