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

^

AND  NOT

A AND  NOT 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 AND NOT ; + (più basso)

Es.: ((A + B) * C + (D + E) * F) AND NOT G