Note sulla ricerca libera booleana |
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:
- termine =
termine della ricerca
- /(...) =
operatore di delimitazione
- i1,in
= identificatori di campo (tag numerico)
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