Strumenti Utente

Strumenti Sito


liquens:advanced

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
liquens:advanced [2012/11/27 10:52]
gbonanome [Query Solr]
liquens:advanced [2021/06/11 12:40] (versione attuale)
etiengo
Linea 31: Linea 31:
  
  
-===== Parametri via URL =====+===== Campi di ricerca speciali ​=====
  
-In DNG è possibile passare campi di ricera direttamente ​via URL. Osservando ad esempio la **ricerca semplice** si può notare che il campo //tutto testo// viene indicato con %%q=%%+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=**.
  
 <​code>​ <​code>​
Linea 46: Linea 46:
 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 **+**. 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 campi tramite operatori booleani, infatti facendo una ricerca avanzata è possibile notare che l'​URL ​di ricerca ​è diverso:+In questa struttura non è possibile concatenare ​diversi ​campi di ricerca ​tramite operatori booleani, infatti facendo una ricerca avanzata è possibile notare che l'URL è diverso:
  
 <​code>​ <​code>​
Linea 54: Linea 54:
 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. 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.
  
-==== Query Solr ==== 
  
-Apponendo all'URL di ricerca ​il campo //solr// è possibile utilizzare ​la [[http://​wiki.apache.org/​solr/​SolrQuerySyntax|sintassi Solr]] per ricercare qualsiasi ​campo a disposizione.+<WRAP tip round> 
 +== Elenco dei campi a disposizione == 
 +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 ​[[liquens:codici_e_campi#​campi_di_ricerca|Codici e campi]]
 +</​WRAP>​ 
 + 
 + 
 +==== bid ==== 
 + 
 +Questo ​campo permette di utilizzare per la ricerca il numero identificativo della notizia assegnato dalla sorgente di importazione in Clavis.
  
 <​code>​ <​code>​
-opac/​search/​lst?​solr=mrc_d200_sa:​nome+della+rosa+opac/​search/​lst?​bid=UBO2898455
 </​code>​ </​code>​
  
-Nell'​esempio ​qui sopra viene fatta una ricerca nel //sottocampo a// del //​campo ​200// dell'​UNIMARC. Come si può notare, in Solr viene mantenuto il riferimento alla struttura ​UNIMARC ​attraverso ​una codifica dei campi del tipo //​mrc_d{codice campo}_s{codice sottocampo}//​ (questo vale per tutti i campi, ad eccezione ​dei campi codificati, ovvero quelli compresi tra il 100 e il 199) +Nell'​esempio viene usato il codice SBN del titolo "Il cuore delle cose / Natsume Sōseki"​ 
-==== Parametri di ordinamento ====+ 
 +==== standard-number ==== 
 + 
 +Questo campo permette di utilizzare nella ricerca ​un qualsiasi **numero standard**, quindi anche l'EAN o ISBN, nel formato privo di trattini o spazi. 
 + 
 +<​code>​ 
 +opac/search/lst?​standard-number=8854500925 
 +</code> 
 + 
 +Nell'​esempio viene usato il numero ISBN del titolo "Il cuore delle cose Natsume Sōseki"​ 
 + 
 +==== solr ==== 
 + 
 +Il campo **solr** permette di utilizzare la [[http://​wiki.apache.org/​solr/​SolrQuerySyntax|sintassi Solr]] per ricercare qualsiasi ​campo UNIMARC indicizzato. 
 + 
 +<​code>​ 
 +opac/search/lst?​solr=(mrc_d200_sa:​nome+della+rosa) AND (mrc_d210_sc:​bompiani) AND (mrc_d950_sf:​n eco) 
 +</​code>​ 
 + 
 +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 [[http://​wiki.apache.org/​solr/​SolrQuerySyntax|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 | 
 + 
 +<WRAP info round> 
 +== Informazioni sulla copia nel tracciato UNIMARC == 
 +È 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 
 +<​code>​ 
 +opac/​search/​lst?​solr=mrc_d950_sf:​Magazzino AND mrc_d950_sa:​37 
 +</​code>​ 
 + 
 +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 
 +</​WRAP>​ 
 + 
 +=== Ricerca per intervallo === 
 + 
 +È 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. 
 + 
 +<​code>​ 
 +opac/​search/​lst?​solr=mrc_d950_sl:​[a TO c] 
 +</​code>​ 
 + 
 +Ricerca i titoli per cui esistono copie con collocazione compresa da A a C. 
 + 
 +<​code>​ 
 +opac/​search/​lst?​solr=sorti_usage:​[100 TO *] 
 +</​code>​ 
 + 
 +Ricerca i titoli andati a prestito più di 100 volte. 
 + 
 +===== Parametri di ordinamento ====
 + 
 +Nella query di ricerca passata via URL è possibile specificare anche l'​ordinamento che si intende ottenere, utilizzando il parametro **sort** 
 + 
 +<​code>​ 
 +/​opac/​search/​lst?​q=cent'​anni+di+solitudine&​sort=titleasc 
 +</​code>​ 
 + 
 +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 [[liquens:​codici_e_campi#​campi_di_ordinamento|Codici e campi]].
liquens/advanced.1354009963.txt.gz · Ultima modifica: 2021/03/08 15:39 (modifica esterna)