Il nostro OPAC si basa su Solr, un motore di ricerca sviluppato dalla fondazione no-profit Apache, come parte del progetto Lucene, nato soprattutto per l’indicizzazione full-text di documenti. Grazie alla sua adozione abbiamo la possibilità di utilizzare il sistema a faccette durante la navigazione dei risultati e, soprattutto, applicare l’ordinamento per “rilevanza“.
Il relevance ranking è un metodo che permette di ordinare i risultati di una ricerca in modo da mostrare in prima posizione i record che più probabilmente corrispondono agli interessi degli utenti. La ricerca risulta in questo modo semplificata, gli utenti infatti non devono impiegare troppo tempo a cercare tra i record le informazioni desiderate.
Ci sono diversi modi per calcolare la rilevanza di un determinato record, inoltre i fattori che vengono presi in considerazione variano in base ai diversi contesti e bisogni. Di seguito elenchiamo alcuni tra i fattori presi in considerazione da Lucene/Solr:
- più volte il termine compare nel documento, maggiore è il punteggio
- la corrispondenza con termini rari vale più della corrispondenza con termini comuni (si intende rari o comuni all’interno dei documenti indicizzati)
- se vengono ricercati più termini, più vicini sono tra loro e più ne vengono trovati, maggiore sarà il punteggio
Il concetto di rilevanza dei risultati di una ricerca in sostanza è legato alla possibilità di assegnare un punteggio ad ogni documento recuperato. Questo deriva dal fatto che la stringa di ricerca potrebbe non comparire esattamente nella forma inserita oppure potrebbe assumere una diversa importanza a seconda dei punti del documento in cui si trova.
In contesto biblioteconomico i “documenti” che il motore di ricerca si occupa di trovare sono prevalentemente record bibliografici, ovvero descrizioni standardizzate di altri documenti. Lo standard che viene utilizzato per queste descrizioni è l’UNIMARC, che associa un campo distinto ad ogni elemento della descrizione.
Oltre alle regole precedenti, grazie a Lucene/Solr, abbiamo la possibilità di associare un diverso punteggio a seconda delle parti del record UNIMARC in cui vengono trovate le parole immesse nella ricerca (query boosting). Tecnicamente questo viene fatto moltiplicando il punteggio ottenuto per un certo valore (boost).
Prima di questo intervento la ricerca veniva fatta sull’intero record, ora abbiamo scelto di isolare meglio alcuni campi del tracciato UNIMARC, definendo 4 livelli di boosting. Questo comporta che i risultati conterranno i termini ricercati:
- prima nel titolo proprio
- quindi nel titolo uniforme, in altre parti del titolo, nel campo autore o editore, tra i soggetti
- quindi tra i legami con altri documenti oppure nelle restanti responsabilità intellettuali
- quindi nelle forme varianti del titolo oppure tra le note
Sono presenti anche altri campi senza boost che ci permettono di integrare nella ricerca a tutto testo alcuni valori comunemente usati in OPAC. Questo tipo di approccio deriva dalla necessità di dover gestire molti tipi di input diversi in fase di ricerca. Sebbene i nostri dati sull’utilizzo degli OPAC dimostrino che la maggior parte degli utenti va a colpo sicuro sul nome dell’autore o sul titolo, esistono diversi casi di combinazioni titolo+autore oppure autore+editore (per non parlare del termine di ricerca più usato in assoluto che è “dvd“). Assegnando un certo boost anche ai soggetti e alle note abbiamo cercato di rispondere anche alle ricerche del tipo “vorrei qualcosa che parla di“.