Sintassi per la ricerca libera
Una espressione di ricerca si compone di uno o più termini legati tra loro da uno o più operatori. Essa può avvalersi di due tipi di termini: termini esatti o radice di termini esatti ossia troncati a destra. L'operatore di troncamento a destra è $. Ad es. metr$ recupera i record da cui sono stati estratti i termini esatti con radice metr quali metrica, metro, metronomo.
Operatori logici booleani
+  | 
        OR | A + B  | 
        A oppure B oppure entrambi | 
*  | 
        AND | A * B  | 
        contemporaneamente A e B | 
^  | 
        NOT | A ^ B  | 
        A ad esclusione di quelli che contengono B | 
Operatori di prossimità
Sono più restrittivi dell'operatore * e recuperano i record che contengono i due termini
| (G) | A (G) B  | 
        nello stesso campo | 
| (F) | A (F) B  | 
        nella stessa occorrenza | 
.  | 
        A . B  | 
        distanti tra loro non più di n* parole | 
$  | 
        A $ B  | 
        distanti tra loro esattamente n* parole | 
| * n è il numero di punti o dollari meno uno | ||
Notare che gli operatori . e $ devono essere preceduti e seguiti da uno spazio.
Operatore di campo
Per default ISIS ricerca in tutti i campi indicizzati. L'operatore di campo specifica e limita la ricerca ad un campo o gruppo di campi da cui il termine è stato estratto. La sintassi è termine/(i1,i2,i3,in) (es.: storia/(11,62)) dove:
Sintassi delle espressioni di ricerca
Si possono combinare due o più termini con gli operatori di ricerca e come nell'algebra normale si può far uso delle parentesi tonde per modificare l'ordine di priorità di esecuzione degli operatori che è il seguente:
(più alto) $ e .; (F); (G); * e ^; + (più basso)
Es.: ((A + B) * C + (D + E) * F) ^ G