| name | arc-corpus |
| description | Dual-index corpus management for combined semantic and full-text search. Use when user mentions corpus, dual indexing, syncing content to both Qdrant and MeiliSearch, checking parity between systems, deleting corpora, or managing content that needs both search types. |
| allowed-tools | Bash(arc:*), Read |
Corpus Management (Dual-Index)
A corpus maintains both a Qdrant collection (semantic search) and a MeiliSearch index (full-text search) in sync.
arc corpus create MyCorpus --type pdf
arc corpus create MyCorpus --type code
arc corpus create MyCorpus --type markdown
arc corpus create MyCorpus --type pdf --models stella,jina
arc corpus delete MyCorpus
arc corpus delete MyCorpus --confirm
arc corpus delete MyCorpus --confirm --json
arc corpus sync MyCorpus /path/to/files
arc corpus sync MyCorpus /path/one /path/two /path/three
arc corpus sync MyCorpus /path/to/files --force
arc corpus sync MyCorpus /path/to/files --verify
arc corpus sync MyCorpus /path/to/files --verbose
arc corpus sync MyCorpus /path/to/files --no-gpu
arc corpus info MyCorpus
arc corpus info MyCorpus --json
arc corpus items MyCorpus
arc corpus items MyCorpus --json
arc corpus parity MyCorpus
arc corpus parity MyCorpus --dry-run
arc corpus parity MyCorpus --verify
arc corpus parity MyCorpus --repair-metadata
arc corpus parity MyCorpus --verbose
arc corpus parity
arc corpus parity --dry-run
arc corpus parity --confirm
arc corpus parity --create-missing --dry-run
arc corpus parity --create-missing --confirm
When to Use Corpus vs Collection/Index
- Use Corpus: When you need both semantic search (conceptual queries) AND full-text search (exact phrases)
- Use Collection alone: When you only need semantic/conceptual search
- Use Index alone: When you only need exact keyword/phrase search
Parity Behavior
The parity command ensures both systems have the same content:
- Qdrant -> MeiliSearch: Copies metadata (fast, no file access needed)
- MeiliSearch -> Qdrant: Re-chunks and embeds files (requires file access)
Creating Missing Indexes:
Use --create-missing to promote single-sided Qdrant collections into full corpora:
- Creates MeiliSearch indexes for
qdrant_only collections
- Reads corpus type from Qdrant metadata
- Applies appropriate index settings automatically
- Then proceeds with normal parity sync
Note: meili_only corpora cannot be auto-created (require --type and --model).
GPU Acceleration and Apple Silicon
By default, corpus sync uses GPU acceleration (MPS on Apple Silicon, CUDA on NVIDIA).
Large models on Apple Silicon: Models like stella (1.5B params) may cause system
instability on Macs with limited memory. If you experience lockups:
arc corpus sync MyCorpus /path --no-gpu
ARC_NO_GPU=1 arc corpus sync MyCorpus /path
arc corpus sync MyCorpus /path --models bge
Model sizes:
bge, bge-base, bge-small: Safe for all systems
stella (1.5B): May cause issues on Macs with <16GB RAM
nomic-code (7B): Requires dedicated GPU with significant VRAM