Ricerca Full Text

mercoledì 28 aprile 2004 - 12.52

ciupaz Profilo | Newbie

Ciao,
avrei bisogno di realizzare una pagina aspx ke mi consenta di effettuare ricerke, in base a parole kiave inserite dall'utente, in documenti di diverso formato (.doc, .pdf, .txt, ecc.) contentuti in un database SQL Server.
Praticamente l'utente inserisce la (o le) parole kiave in una textbox e deve essere restituita la lista dei documenti ke le contegono.
Idee?
Grazie

Brainkiller Profilo | Guru

In questo momento non ho sottomano alcuni miei appunti.
Entro sera quando torno a casa rispondo in modo più dettagliato fornendoti dei link utili per cominciare ad implementare la tua soluzione.

ciao
david

Brainkiller Profilo | Guru

Allora intanto ti consiglio di sfogliare i Books On Line di SQL Server per capire un po' come funziona il Full Text Search, le sue potenzialità e come si implementa in modo da non partire da zero.

Ti incollo qui di seguito una serie di query che ti permettono in poco tempo di implementare il Full Text Search:

This will enable full-text indexing for the current database:
exec sp_fulltext_database 'enable'

This creates a catalog:
exec sp_fulltext_catalog 'catalogname', 'create'

This enables indexing of a table:
exec sp_fulltext_table 'tablename', 'create', 'catalogname', 'indexname'

This adds a column to an index:
exec sp_fulltext_column 'tablename', 'columnname', 'add'

This activates fulltext on a table:
exec sp_fulltext_table 'tablename', 'activate'

These two enable automatic filling of the full-text index when changes occur to a table:

exec sp_fulltext_table 'tablename','start_change_tracking'

exec sp_fulltext_table 'tablename','start_background_updateindex'

Aggiungo inoltre che nei Books On Line troverai le spiegazioni di alcune clausole molto usate nel Full Text Search come CONTAINS e/o FREETEXT (e CONTAINSTABLE e FREETEXTTABLE).

Una volta che hai una buona infarinatura di queste cose, fare un sistema di ricerca nella tua applicazione ASP.NET sarà una passeggiata.

buon lavoro.
ciao
david

Brainkiller Profilo | Guru

Aggiungo che il Full Text Search lo puoi usare se nelle tue colonne hai del testo normale come in un file .txt Se vuoi fare una ricerca su file .doc o .pdf dovrai, prima estrarre il testo, poi inserirlo nel DB ed infine indicizzarlo.

ciao
david

ciupaz Profilo | Newbie

Grazie David,
ora studio un po' i tuoi consigli, e poi ti faccio sapere.
Luigi

ciupaz Profilo | Newbie

Il problema è ke ho un campo Image ke conterrà dei curriculum, e questi CV sono in formati diversi, dai .doc ai .pdf e .txt, ecc.
In base a parole kiave (Es. Java, XML, ecc.) deve essere possibile recuperare quei CV ke contengono quelle parole.

Brainkiller Profilo | Guru

Ti ho già spiegato che così non è possibile.
Dovrai aggiungere un'altra colonna che contenga il testo dei documenti .doc, .pdf ecc. che avrai precedentemente estrapolato dai file. Anche Google fa così.

ciao
david

ciupaz Profilo | Newbie

E per estrarre il testo contenuto in file pdf (o htm) e metterlo in una colonna, come posso fare?

Brainkiller Profilo | Guru

Per gli .html è più facile perchè dovresti rimuovere almeno tutti i Tags. Questo lo puoi fare utilizzando le Regular Expressions oppure puoi inventarti tu un algoritmo.
Per i file PDF è già più difficile perchè hanno una struttura interna particolare. Se fai una ricerca sul Web troverai degli strumenti o delle librerie di terze parti che ti permettono di aprirli e tirare fuori i pezzi di testo che stanno all'interno.

Ciao
david
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5