6.4 KiB
🔍 Guide Recherche, PDF & Excalidraw
ObsiGate va au-delà de la simple lecture : recherche puissante, rendu des documents riches (PDF, diagrammes) et indexation de leur contenu pour que tout soit retrouvable.
Public : tous les utilisateurs Fiches techniques :
features/semantic-search.md·features/pdf.md·features/excalidraw.md
1. Recherche plein texte (TF-IDF)
Le moteur d'ObsiGate s'appuie sur un index inversé et un scoring TF-IDF avec :
- Boost titre — une correspondance dans le titre pèse 3× plus.
- Normalisation des accents —
resumetrouverésumé,elephanttrouveéléphant. - Stemming français — les variantes des mots sont rapprochées.
- Snippets surlignés — les termes trouvés sont mis en
<mark>dans l'extrait. - Facettes — compteurs par vault et par tag sur les résultats.
- Pagination — 50 résultats par page.
- Tri — par pertinence (TF-IDF) ou par date de modification.
- Chips de filtres — les filtres actifs apparaissent sous forme de puces retirables.
- Historique — les 50 dernières recherches sont conservées en
localStorage.
La recherche s'effectue sans I/O disque : le contenu est déjà en mémoire.
2. Syntaxe de requête
| Opérateur | Description | Exemple |
|---|---|---|
tag:<nom> |
Filtre par tag | tag:recette docker |
#<nom> |
Raccourci de tag | #linux serveur |
vault:<nom> |
Filtre par vault | vault:IT kubernetes |
title:<texte> |
Filtre par titre | title:pizza |
path:<texte> |
Filtre par chemin | path:recettes/soupes |
ext:<type> |
Filtre par type de fichier | ext:md kubernetes |
"phrase exacte" |
Recherche d'une phrase | tag:"multi mots" |
Les opérateurs sont combinables :
tag:linux vault:IT ext:md serveur web
Cette requête cherche « serveur web » dans les fichiers Markdown de la vault
IT portant le tag linux.
Filtres par extension
| Extension | Contenu |
|---|---|
ext:md |
Notes Markdown |
ext:py, ext:sh, ext:js |
Scripts et code |
ext:pdf |
Documents PDF (texte extrait) |
ext:excalidraw |
Diagrammes Excalidraw (texte extrait) |
3. Autocomplétion et suggestions
/api/suggest— suggère des titres de fichiers./api/tags/suggest— suggère des tags.- Navigation clavier :
↑/↓puisEntrée;Échapferme les suggestions.
Raccourcis de recherche
| Raccourci | Action |
|---|---|
Ctrl + K / Cmd + K |
Focaliser la barre de recherche |
/ |
Focaliser la recherche (hors champ texte) |
↑ / ↓ |
Naviguer dans les suggestions |
Entrée |
Sélectionner la suggestion active ou lancer la recherche |
Échap |
Fermer les suggestions / quitter la recherche |
Recherches sauvegardées et signets sont disponibles via l'API
(/api/saved-searches, /api/bookmarks).
4. Recherche sémantique (optionnelle)
Au classement TF-IDF peut s'ajouter un classement par embeddings, fusionné
via la méthode RRF (Reciprocal Rank Fusion). Activation : touche ~
(ou Alt + S) dans la recherche.
Deux modes :
- Sans dépendance — un embedder par hachage fournit une base utilisable immédiatement.
- Embeddings réels — installez
backend/requirements-semantic.txtet/ou renseignez les variablesOBSIGATE_EMBEDDING_*pour utiliserall-MiniLM-L6-v2.
Détails et configuration :
features/semantic-search.md.
5. Support PDF
Lecture
Les fichiers PDF de vos vaults s'affichent en ligne dans le navigateur via le
visualiseur PDF natif (iframe + <embed>). Le fichier est streamé en HTTP
Range (206 Partial Content) : les gros PDF se chargent progressivement.
Recherche
Le texte est extrait à l'indexation (pypdf / pymupdf), donc le contenu
des PDF est recherchable via la recherche plein texte. Utilisez ext:pdf pour
limiter les résultats aux PDF.
Métadonnées
GET /api/file/{vault}/pdf/info renvoie les métadonnées (pages, titre, auteur)
sans transférer le document.
curl "http://localhost:2020/api/file/Recettes/pdf/info?path=menu.pdf"
Limites
- Pas d'OCR : les PDF scannés (images) ne sont pas recherchables.
- Pas d'annotation ni d'édition du PDF lui-même.
6. Diagrammes Excalidraw
Les fichiers .excalidraw et .excalidraw.md (dont le format compressé du
plugin Obsidian Excalidraw) s'ouvrent dans un éditeur visuel Excalidraw
complet, dans une iframe sandboxée.
- Dessin et édition sans quitter ObsiGate.
- Sauvegarde automatique (débounce 2 s) ou
Ctrl + S. - Thème clair/sombre suivi automatiquement.
- Texte indexé : le texte des éléments du diagramme est extrait à
l'indexation et donc recherchable (
ext:excalidraw).
Fiche technique : features/excalidraw.md.
7. Autres contenus riches
Mermaid
Les blocs de code ```mermaid sont rendus en diagrammes interactifs (live
preview, thèmes, zoom, plein écran, pré-processeur compatible syntaxe Obsidian).
Images Obsidian
Toutes les syntaxes d'images sont supportées avec résolution intelligente en 7 stratégies :
- chemin absolu ;
- dossier d'attachements configuré (
VAULT_N_ATTACHMENTS_PATH) ; - index de démarrage (correspondance unique) ;
- même répertoire que la note ;
- racine de la vault ;
- index de démarrage (correspondance la plus proche) ;
- repli :
[image not found: fichier.ext].
Rescan manuel des attachements :
curl -X POST "http://localhost:2020/api/attachments/rescan/Recettes"
Graphe et backlinks
- Graphe : vue force-directed (Barnes-Hut), filtres (tag, type), profondeur,
mode focus, export PNG, aperçu au survol (
Ctrl + clic). - Backlinks :
GET /api/file/{vault}/backlinks?path=…liste les notes pointant vers un document.
8. Dépannage
| Symptôme | Piste |
|---|---|
| Un PDF ne s'affiche pas | Vérifier la taille (OBSIGATE_PDF_MAX_SIZE_MB, défaut 50 Mo) |
| Le texte d'un PDF scanné n'est pas trouvé | Pas d'OCR : normal |
| Une image reste introuvable | Configurer VAULT_N_ATTACHMENTS_PATH, puis rescan |
| La recherche sémantique ne s'active pas | Vérifier le toggle ~ et OBSIGATE_EMBEDDING_* |
| Résultats obsolètes | Forcer une réindexation : GET /api/index/reload |