Oltre alle opzioni di ricerca a disposizione degli utenti attraverso la pagina di Ricerca avanzata, esistono alcune opzioni aggiuntive che permettono di costruire query di ricerca speciali.
In tutti i box di ricerca è consentito l'utilizzo di alcuni caratteri speciali:
Inserendo i termini tra doppi apici è possibile compiere una ricerca per frase esatta. I risultati quindi conterranno solo titoli che contengono tutti i termini inseriti nell'ordine indicato. Cercando ad esempio “nome della rosa” verranno esclusi titoli come: la rosa dei nomi, la rosa bianca, la rosa dei sentimenti, ecc.
Si tratta di un carattere jolly sinonimo di qualsiasi carattere. Inserendolo come troncamento di una parola verranno quindi restituiti tutti i risultati che contengono la parte precedente all'asterisco. Ad esempio la ricerca di giardin* restuirà titoli che contengono i termini: giardino, giardini, giardinaggio, ecc.
Si tratta di un carattere jolly fornito da Solr che consente di specificare un valore di boosting da applicare ai termini di ricerca. Il boosting è un vero e proprio moltiplicatore che assegna un diverso peso ai risultati incidendo sul loro ordinamento. Viene applicato di default alla ricerca semplice e ad alcune ricerche avanzate (es. per titolo o per autore) e non incide sul numero di risultati ottenuti ma solo sull'ordinamento per rilevanza.
Per fare un esempio è possibile mettere a confronto le due seguenti ricerche avanzate:
Senza boosting | Con boosting |
---|---|
Titolo: harry potter | Titolo: harry potter |
Autore: rowling | Autore: rowling^10000 |
Si noterà che nella seconda ricerca compariranno più in cima i titoli dove il termine rowling compare nell'indicazione di responsabilità.
VEDI: per una descrizione dei boosting predefiniti si veda il blog di Comperio.
In DNG è possibile passare campi di ricera direttamente tramite URL. Osservando ad esempio la ricerca semplice si può notare che il campo tutto testo viene indicato con q=.
opac/search/lst?q=nome+della+rosa
La struttura dell'URL è la seguente:
opac | è il path della pagina di ricerca predefinita |
---|---|
search | indica l'azione eseguita dalla pagina |
lst | specifica il template da applicare ai risultati (ce ne sono 3: dtl, lst, grid) |
alla fine dell'URL, dopo il ? sono presenti uno o più campi di ricerca indicati con la sintassi nome campo=termine di ricerca. Nel caso di più termini questi sono concatenati dal simbolo +.
In questa struttura non è possibile concatenare diversi campi di ricerca tramite operatori booleani, infatti facendo una ricerca avanzata è possibile notare che l'URL è diverso:
/opac/advanced?op_1=and&field_4=title&value_4=nome+rosa&lop_4=1&field_5=autha&value_5=Eco%2C+Umberto&lop_5=1&submit=Cerca
Preceduti dalla dicitura field_n= sono comunque visibili i campi di ricerca a disposizione dell'utente. Nell'esempio riportato ci sono i campi title e auhta che permettono di cercare il campo titolo e autore.
Di seguito sono presentati solo alcuni dei campi a disposizione, a titolo di esempio.
Per l'elenco completo dei campi di ricerca si veda la tabella della pagina Codici e campi.
Questo campo permette di utilizzare per la ricerca il numero identificativo della notizia assegnato dalla sorgente di importazione in Clavis.
opac/search/lst?bid=UBO2898455
Nell'esempio viene usato il codice SBN del titolo “Il cuore delle cose / Natsume Sōseki”
Questo campo permette di utilizzare nella ricerca un qualsiasi numero standard, quindi anche l'EAN o ISBN, nel formato privo di trattini o spazi.
opac/search/lst?standard-number=8854500925
Nell'esempio viene usato il numero ISBN del titolo “Il cuore delle cose / Natsume Sōseki”
Il campo solr permette di utilizzare la sintassi Solr per ricercare qualsiasi campo UNIMARC indicizzato.
opac/search/lst?solr=(mrc_d200_sa:nome+della+rosa) AND (mrc_d210_sc:bompiani) AND (mrc_d950_sf:n eco)
Nell'esempio qui sopra viene fatta una ricerca nei campi UNIMARC: 200 $a, 210 $c, 950 $f. Come si può notare, in Solr vengono indicizzati i campi UNIMARC con una struttura del tipo mrc_d{codice campo}_s{codice sottocampo} (questo vale per tutti i campi, ad eccezione di quelli codificati, ovvero quelli compresi tra il 100 e il 199). Come prevede la sintassi Solr, dopo il campo indicizzato, seguito da : va inserito il valore della ricerca (case insensitive).
La maggior parte dei campi e sottocampi UNIMARC è ricercabile dall'utente attraverso la pagina di Ricerca Avanzata, tuttavia ne esistono alcuni particolari utilizzati da ClavisNG, che permettono di incrociare diverse informazioni gestionali.
Di seguito pubblichiamo un elenco di alcuni campi gestionali indicizzati e il loro significato:
campo | significato |
---|---|
mrc_d950_sa | ID Clavis della biblioteca di gestione |
mrc_d950_sb | Serie inventariare |
mrc_d950_sc | Numero di inventario |
mrc_d950_sd | Sezione |
mrc_d950_se | Altezza |
mrc_d950_sf | Collocazione |
mrc_d950_sg | Specificazione |
mrc_d950_sh | Sequenza 1 |
mrc_d950_si | Sequenza 1 |
mrc_d950_sj | Codice dello stato dell'esemplare |
mrc_d950_sm | Valore inventariale |
mrc_d950_sq | Codice dello stato fisico della copia |
mrc_d950_su | Codice della sorgente d'acquisto |
mrc_d950_sp | Classe di prestabilità |
sorti_usage | Numero di prestiti fatti con il titolo |
sorti_requests | Numero di prenotazioni presenti sul titolo |
È bene considerare che ciascun record restituito dal Solr comprende tanti d950 quante sono le copie legate al titolo. Tuttavia, poichè viene indicizzato singolarmente ciascun sottocampo, non è possibile incrociare tra loro diversi sottocampi avendo la certezza che corrispondano alla stessa copia
Ad esempio la seguente query
opac/search/lst?solr=mrc_d950_sf:Magazzino AND mrc_d950_sa:37
restituisce titoli dove compaiono sia copie nella sezione Magazzino che copie gestite dalla biblioteca 37. Tuttavia non necessariamente tutti i titoli ottenuti come risultato avranno copie della biblioteca 37 con sezione Magazzino. Potrebbero esserci titoli per cui esiste una copia della biblioteca 37 ma con diversa sezione, mentre è presente al contempo una copia di un'altra biblioteca con sezione Magazzino
È possibile indicare un intervallo di valori contenuti nei campi mrc utilizzando la sintassi [* TO *] dove l'asterisco rappresenta qualsiasi valore ed è sostituibile da uno o più caratteri o numeri.
opac/search/lst?solr=mrc_d950_sl:[a TO c]
Ricerca i titoli per cui esistono copie con collocazione compresa da A a C.
opac/search/lst?solr=sorti_usage:[100 TO *]
Ricerca i titoli andati a prestito più di 100 volte.
Nella query di ricerca passata via URL è possibile specificare anche l'ordinamento che si intende ottenere, utilizzando il parametro sort
/opac/search/lst?q=cent'anni+di+solitudine&sort=titleasc
L'esempio mostra i risultati di una ricerca semplice ordinata per Titolo (A-Z), usando il parametro &sort=titleasc
Per l'elenco completo dei campi di ordinamento vedi la relativa tabella della pagina Codici e campi.