Advanced Usage¶
This section covers power‑user workflows and automation options.
Batch indexing script overview¶
The repository includes a batch indexing script for large libraries. It pulls items from Zotero (Web API), runs extraction, and indexes in Redis.
Typical use cases:
- Indexing a large library overnight
- Pre‑building an index before using Obsidian
See the script in tools/batch_index_pyzotero.py and the example command in the README.
CLI tools and when to use them¶
The plugin bundles Python tools under tools/ for:
- Extraction and chunking (Docling)
- Indexing (Redis Search)
- Querying (RAG chat and diagnostics)
Use the CLI tools when you need:
- Batch processing
- Troubleshooting outside Obsidian
- Custom pipelines or automation
Multi‑vault behavior and Redis namespacing¶
If multiple vaults share a Redis instance, the plugin namespaces the index and key prefix with a vault‑specific hash. This prevents chunks from different vaults from mixing.
If you enable Auto‑assign Redis port, each vault can start its own Redis instance on a unique local port.
Shared compose project overrides across vaults¶
If two vaults use the same values for:
- Redis data directory override
- Redis project name override
and Auto-assign Redis port is off, both vaults will attach to the same Docker/Podman Compose project and containers.
This can be useful for intentional sharing, but it has an important constraint in worker mode:
- The
python-workercontainer mounts one vault path at/workspace/vault. - If a second vault reuses the same project, worker file lookups can point to the wrong mounted vault and fail with missing-path errors under
/workspace/vault/....
Recommendations:
- For two vaults open at the same time, use different project names and different data directory overrides (or enable Auto-assign Redis port and keep defaults).
- Only share one project override intentionally if you treat it as a single active vault for import/reindex operations.