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 11:10]
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 ==== 
  
-Invece ​di //q//, apponendo all'URL il campo **solr** è possibile utilizzare ​la [[http://​wiki.apache.org/​solr/​SolrQuerySyntax|sintassi Solr]] per ricercare qualsiasi campo indicizzato.+<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=solr=(mrc_d200_sa:​nome+della+rosa) AND (mrc_d210_sc:​Bompiani) AND (mrc_d950_sf:​N ECO)+opac/​search/​lst?​bid=UBO2898455
 </​code>​ </​code>​
  
-Nell'​esempio ​qui sopra viene fatta una ricerca nei campi UNIMARC: 200 $a, 210 $c, 950 $f. 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"​
  
-La maggior parte dei campi UNIMARC è ricercabile dall'​utente attraverso la pagina di Ricerca Avanzata, tuttavia ne esistono alcuni proprietari del tracciato utilizzato da Clavis, che permettono di incrociare le informazioni gestionali.+==== 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**
  
-==== Parametri ​di ordinamento ​====+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.1354011027.txt.gz · Ultima modifica: 2021/03/08 15:39 (modifica esterna)