Top Banner
#sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto [email protected]
20

#sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto [email protected].

May 02, 2015

Download

Documents

Giosuè Maggi
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Ricerche full-text

Emiliano Pinto

[email protected]

Page 2: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Sponsors

Page 3: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Organizers

Page 4: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Speaker

Certificazione: Microsoft SQL Server, Database Development

DMBS utilizzati SQLServer (2000 > 2014) MySQL

Linguaggi di sviuppo C#, VB.net php, VBScript Javascript, razor

Page 5: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Agenda

Cos’è la ricerca full-text Scenari di utilizzo Differenze tra ricerche full-text e ricerche tradizionali

(LIKE) Componenti di un catalogo full-text Configurazione di un indice full-text su una tabella Predicati FREETEXT, CONTAINS Q & A

Page 6: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Cos’è la ricerca full-text?

Ricerca di «TESTO–INTERO»:

Ricerca di parole, frasi, con criteri linguistici, basati sulla lingua dei dati.

Page 7: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Cos’è la ricerca full-text

simple term: una o più parole o frasi specifiche

prefix term: parola o frase in cui le parole iniziano con

il testo specificato

generation term: inflessioni di una parola specifica

proximity term: una parola o frase vicina a un'altra

parola o frase

thesaurus: sinonimi di una parola specifica

weighted term: parole o frasi che utilizzano valori

ponderati

Page 8: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Scenari di utilizzo

Biblioteca Studio legale Ricerca del personale Commercio elettronico Ricerca documenti in un gestionale ecc…

Page 9: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Differenze tra ricerca full-text e ricerca tradizionale (es. like)

Negli ambiti di reperimento delle informazioni si parla di: High Precision: risultati non pertinenti (falsi

positivi) sono minori

High Recall: risultati pertinenti mancanti (falsi negativi) sono minori

Page 10: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Differenze tra ricerca full-text e ricerca tradizionale (es. like)

non full-text: ricerca per caratteri indipendente dalla lingua solo campi di tipo testo

full-text: ricerca semantica high recall dipendente dalla lingua ricerca in campi binary

Page 11: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Componenti di un catalogo full-text

Componenti specifici per lingue supportate: Word breaker e stemmer Elenchi di parole non significative

(stopwords) File di thesaurus Filtri (iFilter)

Page 12: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Demo

Ricerca dei componenti linguistici installati nel database e personalizzazione.

Page 13: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Configurazione di un indice full-text su una tabella

Abilitare la ricerca full-text sul database Tabella con chiave primaria Un solo indice full-text per tabella Tipi di dati:

char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary(max), filestream

Scelta del tipo di popolamento

Page 14: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Configurazione di un indice full-text su una tabella

Tipi di popolamento Completo In base al rilevamento di modifiche

Aggiornamento Manuale Automatico Automatico con timestamp

Page 15: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Demo

Creazione di un catalogo full-text e di un indice full-text su una tabella.

Page 16: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Predicati FREETEXT e CONTAINS

FREETEXT: ricerca di frasi: Separa la frase in parole significative tramite word breaker Genera le variazioni tramite lo stemmer Indentifica una serie di sinonimi e sostituzioni tramite il

Thesaurus CONTAINS: ricerca di parole:

Una parola o una frase. Il prefisso di una parola o di una frase. Una parola accanto a una parola specifica. Una parola generata da un'altra per flessione. Una parola sinonimo di un'altra. Parole «ponderate»

Page 17: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Predicati FREETEXT e CONTAINS

Funzioni tabella con colonna RANK: grado di pertinenza dei risultati: FREETEXTTABLE (<tabella>, <campi>,

<frase>) CONTAINSTABLE(<tabella>, <campi>,

<espressione>)

Page 18: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Demo

Esempi di query utilizzando i predicati FREETEXT e CONTAINS, FREETEXTTABLE e CONTAINSTABLE e le loro opzioni.

Page 19: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

Q & A

Domande?

Page 20: #sqlsatPordenone #sqlsat367 February 28, 2015 Ricerche full-text Emiliano Pinto emiliano.pinto@realcomm.it.

#sqlsatPordenone#sqlsat367February 28, 2015

#sqlsatPordenone#sqlsat367

Feedback form: http://speakerscore.com/684H