|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
[Sql Server 2008 /C#/EF 4]Memorizzare files e ricerche full text
Buonasera a tutti
![]() C'è qualcuno di voi che ha esperienza e che potrebbe suggerirmi qualcosa in merito a: 1) memorizzare files diversi su un db sql server (possono essere .doc, xls, pdf, email) 2) come funziona una ricerca di tipo full text sui documenti che verranno memorizzati sul db in un'apposita tabella ? Il linguaggio e le tecnologie che devo usare sono C# ed Entity Framework. Grazie mille a tutti ![]() RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Jan 2003
Città: Milano - Udine
Messaggi: 9418
|
Quote:
Per esempio: http://msdn.microsoft.com/en-us/vcsharp/Video/dd565857 Ma è un'applicazione...usi dei servizi, LINQ...? |
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
![]() Per rispondere alla tua domanda: Si, è un'applicazione. Si tratta di fare "in piccolo" una gestione documentale. Io sono riuscito a fare in modo che qualsiasi documento venga memorizzato (memorizzo soltanto il path del documento), sia poi facilmente recuperabile mediante l'uso di tags preventivamente inseriti o di barcode (utilizzando itextsharp). Ora dovrei fare in modo di creare un repository unico per qualsiasi tipo di documento: pdf, xls, immagini varie, email, etc... e mediante una ricerca, ad esempio: "pippo", mi trovi tutti i documenti che contengono tale termine. Io, seguendo il modello dei veri programmi di gestione documentale, ho disegnato anche le varie classi documentali di appartenenza. Ma questo tipo di ricerca mi è stato richiesto ed ho le idee alquanto confuse. Grazie ![]() RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Jan 2003
Città: Milano - Udine
Messaggi: 9418
|
Quote:
![]() Come repository mi viene in mente DDD ed il repository pattern, con una separazione netta tra domain model e la parte di persistenza dei dati (la presentazione scegli tu come ti verrebbe meglio, se applicazione web, Winform ecc.). Però se mi parli di gestione documentale pur non avendolo mai utilizzato sul lavoro, hai pensato all'adozione di Sharepoint eventualmente? E' pensato proprio per quello scopo in fin dei conti ![]() Reportistica ecc. ecc. E puoi usare MVC... |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Buondì
![]() Per Sharepoint non ci è stata fatta menzione, credo quindi che, almeno in questa fase non sia per nulla previsto. Altro piccolo problema, i nostri client sono tutti con Windows 7 64 Bit mentre la versione di Sql Server 2008 alla quale accediamo è una versione 32 bit e non può essere abilitato il nuovo meccanismo di gestione dei files FILESTREAM. Pensavo quindi di fare una tabella così composta: Codice:
ID FileName varchar FileExtension varchar FileContent - ????? UploadDate datetime varbinary, blob, image, etc.. Vabbè... diciamo che potrei "iniziare" con uno qualsiasi. Mi resta comunque il buio totale su come effettuare una ricerca all'interno di essi; per spiegarmi meglio: Supposto che l'utente che ha precedentemente ha memorizzato il file non si ricordi: il nome del file l'estensione non ha assegnato nessun tag (questo tipo di funzione l'ho già implementata e funziona) deve quindi fare una ricerca sul contenuto del file, ad esempio con: "banca Thief & Gangsta Inc" . Vorrei ragionare solo lato DB e crearmi una stored (casomai cambia linguaggio e framework almeno ....) ma non ho idea di come fare appunto la ricerca all'interno dei contenuti . RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
mmm.. con questo link mi si è tolta almeno qualche nuvoletta nebbiosa:
http://www.simple-talk.com/sql/learn...in-sql-server/
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Jan 2003
Città: Milano - Udine
Messaggi: 9418
|
Quote:
![]() Il problema è l'interazione però con LINQ perché, a quanto ne so, non la supporta ancora. Magari non ne avete bisogno (usando Entity Framework però mi viene difficile pensarlo dato che uno dei punti forti di quell'ORM è proprio il provider LINQ) ma ci sono comunque un paio di soluzioni "caserecce". http://stackoverflow.com/questions/5...search-in-linq http://sqlblogcasts.com/blogs/simons...searching.aspx |
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Jan 2003
Città: Milano - Udine
Messaggi: 9418
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Non so quale sia la qualità del port su .net ma prova comunque a dare un occhiata a Lucene. http://incubator.apache.org/lucene.net/
Noi lo usiamo con Java e abbiamo su un indice con milioni di documenti su un db mysql. |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
|
Quote:
anche se nella community di sviluppatori c'é stato molto disappunto su questa linea perché avrebbero preferito mantenere una compatibilitá dal punto di vista funzionale ma usare tutte le capacitá di .net. in pratica lucene.net é scritto in .net 2.0... preistoria |
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Interessante lucene ! grazie per la segnalazione !
Ma che tipo di documenti posso gestire ?
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
|
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
Non riesco a trovare nulla con cui indicizzare documenti esistenti, tipo .doc, .xls, email, pdf etc.. In ogni tutorial vedo che i documenti sono creati da codice, inserendo descrizioni. Avreste qualche esempio da linkare ? Grazie a tutti ![]() RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
|
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
|
|
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
|
Quote:
ora c'é un nuovo team e stanno .net-ifizzando (tradotto da ".net-fy") inserendo il supporto ai generics. figo... .net 2.0 nel 2011 http://codeclimber.net.nz/archive/20...-on-track.aspx |
|
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
![]() Dico questo anche perchè ho visto che non è affatto banale estrarre del testo da files di diversa natura (jpg, pdf, doc, xls, etc..)
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
|
![]() |
![]() |
![]() |
#18 | |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
|
|
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
![]() Al momento ho individuato questa strategia: 1) Qualsiasi tipo di file lo converto in .pdf 2) Mediante PDFBox estraggo il testo 3) Il testo estratto lo do in pasto a lucene (e questo mi svincolerebbe anche dall'utilizzo di un database) Può andare ? grazie ![]() RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
|
![]() |
![]() |
![]() |
#20 | |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:02.