Ricerca
Engram indicizza il contenuto delle note per la ricerca semantica, che trova le note con un significato simile alla tua query, anche quando la formulazione è diversa. È supportata anche la ricerca per corrispondenza esatta, ma dove viene eseguita dipende dall’ambito.
Come cerca Engram
Sezione intitolata “Come cerca Engram”- Ricerca semantica su tutto l’archivio. Similarità vettoriale sugli embedding di ogni nota. Trova idee correlate, non solo testo letterale. È ciò che viene eseguito oggi dal pannello di ricerca dell’app web.
- Ricerca per parole chiave e ibrida. Il backend indicizza anche le note per una ricerca per parole chiave (lessicale) compatibile con la crittografia e per una modalità ibrida che fonde risultati lessicali e vettoriali (vedi sotto). Questi sono disponibili nel backend; il pannello di ricerca dell’app web non espone ancora un selettore di modalità, quindi per ora invia query semantiche.
- Corrispondenza esatta dentro una nota aperta.
Ctrl/Cmd+Fe Trova/Sostituisci dell’editor lavorano sulla nota decifrata nella tua sessione corrente, come in qualsiasi editor di testo.
E la ricerca letterale / con regex?
Sezione intitolata “E la ricerca letterale / con regex?”Engram supporta la ricerca per parole chiave (lessicale) su tutto il
tuo archivio, e lo fa senza compromettere la crittografia a riposo.
Invece di scansionare testo in chiaro, il backend indicizza un vettore
sparso per ogni porzione, indicizzato tramite
HMAC(your vault key, token), così il server può confrontare i termini
della ricerca con l’indice senza mai possedere testo delle note
leggibile. Le modalità per parole chiave, semantica (vettoriale) e
ibrida (lessicale + vettoriale fuse lato server tramite reciprocal-rank
fusion) sono tutte attive nel backend.
Questo significa che una vera ricerca di sottostringhe/regex sul testo
grezzo resta impossibile lato server (l’indice è sui token, non sui
caratteri); per una ricerca letterale con regex, con distinzione tra
maiuscole e minuscole o filtrata per percorso, lo strumento resta il
pannello di ricerca locale di Obsidian (che opera sui tuoi file .md su
disco). Anche Ctrl/Cmd+F dell’editor funziona per cercare all’interno
di una nota aperta.
La ricerca di Engram e quella di Obsidian sono complementari: semantica, per parole chiave e ibrida nel cloud; ricerca letterale completa con regex / distinzione di maiuscole / filtro per percorso su disco. Il pannello di ricerca locale di Obsidian lavora sullo stesso archivio che Engram sta sincronizzando.
Da dove cercare
Sezione intitolata “Da dove cercare”- Pannello di ricerca dell’app web (la barra di ricerca): query semantiche oggi
- Il plugin per Obsidian esegue la ricerca sullo stesso backend dell’app web
- Il pannello di ricerca di Obsidian per la ricerca letterale locale con regex / maiuscole / percorso sull’archivio su disco
Per un modello regex o una corrispondenza letterale limitata a un percorso, passa alla ricerca locale di Obsidian.
Come funziona il ranking
Sezione intitolata “Come funziona il ranking”- La tua query viene convertita in embedding (il modello per le query è asimmetrico rispetto a quello dei documenti, ottimizzato per il recupero anziché per l’indicizzazione)
- Qdrant restituisce le prime K corrispondenze vettoriali con quantizzazione binaria + rescore
- Se è configurato un reranker (
RERANKER_BACKEND=jina+JINA_URLsul backend), i candidati vengono riordinati con una miscela 40/60 dei punteggi vettoriali e del reranker; altrimenti viene usato il ranking vettoriale grezzo
Il deployment cloud predefinito oggi funziona senza reranker; l’adattatore Jina è rilasciato e pronto da attivare.
Limitazione per cartella
Sezione intitolata “Limitazione per cartella”Limitare la ricerca a una cartella è supportato tramite l’API. Passa
un parametro di query folder=<path>. Una sintassi di query nella
casella di ricerca come folder:work/ è nella roadmap, non ancora
collegata all’interfaccia.
Quando la ricerca semantica rende meno
Sezione intitolata “Quando la ricerca semantica rende meno”- L’archivio è molto piccolo (< 20 note). Meno embedding con cui confrontare; i risultati tendono a essere rumorosi finché l’archivio non cresce
- Note importate di recente. L’embedding viene eseguito in modo asincrono tramite Oban; le note appena scritte possono impiegare qualche secondo per comparire nei risultati
- Gergo molto specifico. La similarità semantica dà il meglio con i concetti. Per identificatori esatti (il nome di una funzione, un codice di errore), la ricerca per parole chiave e ibrida (lessicale + vettoriale) è più adatta. Entrambe sono attive nel backend, con l’esposizione nell’interfaccia dell’app web ancora da venire. Nel frattempo, la ricerca locale di Obsidian copre gli identificatori esatti.