Semantic search — match by meaning, not exact words.
Uses vector similarity (cosine distance) over `text_pali` embedded with
a multilingual MiniLM model.
🤔 **In most cases you should use `search_hybrid` instead** — it
combines this semantic search with keyword search and ranks better.
Use this tool only when you need:
- Pure semantic results (no keyword influence)
- Fine-grained `threshold` tuning (hybrid uses RRF which is harder
to tune)
- To debug what semantic alone picks up vs keyword
⚠️ Known limitations:
- The index is **Pāli only** (English/Thai queries pass through the
multilingual embedding but the model isn't tuned on Pāli)
- English queries usually embed better than Thai (model is EN-primary)
- For specific Pāli terms (`appamāda`, `dukkha`), exact match is
better — use `search_by_keyword` instead
- Pāli stock phrases recur in many suttas → similarity scores
cluster; read the top 10, don't trust rank 1 alone
Connector