OVH Cloud OVH Cloud

DISCUSSION AU SUJET D'UNE METHODE DE CONCEPTION

7 réponses
Avatar
Georges
Bonjour à tous,

Je suis en train de concevoir une base de données SQL Server qui doit
stocker normalement les informations sur des documents divers au format PDF.
Mon objectif est d'indexer ces documents à partir de leurs contenus
extraits sous forme de texte ASCII. C'est à dire que j'extrait d'abord
uniquement les textes et je les stocke sous forme de fichiers. Ainsi pour
chaque document j'ai un PDF et un TXT ou XML.
Maintenant je voulais savoir comment bien gérer cela sous SQL Server. En
effet, je voudrais intérroger la base en entrant des mots clés à trouver
dans le fichier texte extrait. Est il judicieux de stocker ces fichiers
textes dans les colonnes de type text sous SQL server et d'utiliser les
requêtes de texte intégral ou bien de les stocker sur le disque au format
XML et utiliser la prise ne charge des fichiers XML par SQl server pour
interroger ces documents. Personnellement je penche pour la première methode
mais le hic est que les champs risque d'être trop volumineux car je peux
avoir des documents de deux à trois pages. L'autre souci c'est que je
voulais démarrer avec MSDE mais à ma connaissance la fonctionnalité de
recherche de texte integral n'est pas installée avec cette version desktop.
Voila, mon problème.
Je suis preneur de toute idée constructive

Merci d'avance pou toute intervention

Georges

7 réponses

Avatar
Patrice
Pour moi, extraire le texte de ces documents est inutile car "index server"
fait cela de lui-même.
Ensuite faut argument contraire, je pense préférable de stocker les fichiers
en dehors de la base de données. Il serait alors indexés avec "Index
Server". Normalement SQL Server (MSDE ?) peut ensuite accéder aux données
Index Server.




--

"Georges" a écrit dans le message de
news:chju73$37d$
Bonjour à tous,

Je suis en train de concevoir une base de données SQL Server qui doit
stocker normalement les informations sur des documents divers au format


PDF.
Mon objectif est d'indexer ces documents à partir de leurs contenus
extraits sous forme de texte ASCII. C'est à dire que j'extrait d'abord
uniquement les textes et je les stocke sous forme de fichiers. Ainsi pour
chaque document j'ai un PDF et un TXT ou XML.
Maintenant je voulais savoir comment bien gérer cela sous SQL Server. En
effet, je voudrais intérroger la base en entrant des mots clés à trouver
dans le fichier texte extrait. Est il judicieux de stocker ces fichiers
textes dans les colonnes de type text sous SQL server et d'utiliser les
requêtes de texte intégral ou bien de les stocker sur le disque au format
XML et utiliser la prise ne charge des fichiers XML par SQl server pour
interroger ces documents. Personnellement je penche pour la première


methode
mais le hic est que les champs risque d'être trop volumineux car je peux
avoir des documents de deux à trois pages. L'autre souci c'est que je
voulais démarrer avec MSDE mais à ma connaissance la fonctionnalité de
recherche de texte integral n'est pas installée avec cette version


desktop.
Voila, mon problème.
Je suis preneur de toute idée constructive

Merci d'avance pou toute intervention

Georges




Avatar
Georges
Merci patrice,

Oui, sauf que index server ne sait indexer les fichier PDF que si on lui
rajoute un utilitaire fourni par Adobe ( IPDFFilter ??? : je me souviens
plus du nom). En plus il faut jongler avec les spécficités adobe et
microsoft ( des dll, des cfg, par ci par là ). C'est galère à mettre en
place et je ne serais plus maître de ce que je fais.
Quant au stockage, ce n'est pas le fichier physique que je veux stocker
mais son contenu textuel. Les pDF restant sur le disque. Si je laisse les
fichiers sur le disque, je n'aurais plus besoin de SQL Server puisqu'il me
suffira de faire du code pour parcourir ces fichiers et chercher un mot
précis. Là je suis sûr que je risque de perdre au moins 10 secondes par
rapport à une requête optimisée SQL Server.

"Patrice" a écrit dans le message de news:
#
> Pour moi, extraire le texte de ces documents est inutile car "index
server"
> fait cela de lui-même.
> Ensuite faut argument contraire, je pense préférable de stocker les
fichiers
> en dehors de la base de données. Il serait alors indexés avec "Index
> Server". Normalement SQL Server (MSDE ?) peut ensuite accéder aux
données
> Index Server.
>
>
>
>
> --
>
> "Georges" a écrit dans le message de
> news:chju73$37d$
> > Bonjour à tous,
> >
> > Je suis en train de concevoir une base de données SQL Server qui doit
> > stocker normalement les informations sur des documents divers au
format
> PDF.
> > Mon objectif est d'indexer ces documents à partir de leurs contenus
> > extraits sous forme de texte ASCII. C'est à dire que j'extrait d'abord
> > uniquement les textes et je les stocke sous forme de fichiers. Ainsi
pour
> > chaque document j'ai un PDF et un TXT ou XML.
> > Maintenant je voulais savoir comment bien gérer cela sous SQL Server.
En
> > effet, je voudrais intérroger la base en entrant des mots clés à
trouver
> > dans le fichier texte extrait. Est il judicieux de stocker ces
fichiers
> > textes dans les colonnes de type text sous SQL server et d'utiliser
les
> > requêtes de texte intégral ou bien de les stocker sur le disque au
format
> > XML et utiliser la prise ne charge des fichiers XML par SQl server
pour
> > interroger ces documents. Personnellement je penche pour la première
> methode
> > mais le hic est que les champs risque d'être trop volumineux car je
peux
> > avoir des documents de deux à trois pages. L'autre souci c'est que je
> > voulais démarrer avec MSDE mais à ma connaissance la fonctionnalité de
> > recherche de texte integral n'est pas installée avec cette version
> desktop.
> > Voila, mon problème.
> > Je suis preneur de toute idée constructive
> >
> > Merci d'avance pou toute intervention
> >
> > Georges
> >
> >
>
>
Avatar
Patrice
Téléchargeable chez Adobe. L'installation n'avait posé aucun problème chez
nous (Windows 2000).

Donc si je te suis bien, tu veux extraire toi même le texte de ces fichiers.
Ensuite reste donc trois solutions :
- parcourir toi même les textes (comme tu semble le rejeter).
- mettre le texte dans SQL Server et utiliser l'indexation texte intégral
(mais pb si tu utilises MSDE ?)
- utiliser index server (qui était ma suggestion de base) que tu peux
interroger de diverses façons. SQL Server peut rester utile pour
l'organisation logique des documents dans ton système.

Pour interroger index server :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnproasp2/html/howtoperformqueriesinasp.asp
(à partir d'ASP, ou via fournisseur OLEDB).

Patrice

--

"Georges" a écrit dans le message de
news:chk92p$6s3$
Merci patrice,

Oui, sauf que index server ne sait indexer les fichier PDF que si on lui
rajoute un utilitaire fourni par Adobe ( IPDFFilter ??? : je me souviens
plus du nom). En plus il faut jongler avec les spécficités adobe et
microsoft ( des dll, des cfg, par ci par là ). C'est galère à mettre en
place et je ne serais plus maître de ce que je fais.
Quant au stockage, ce n'est pas le fichier physique que je veux stocker
mais son contenu textuel. Les pDF restant sur le disque. Si je laisse les
fichiers sur le disque, je n'aurais plus besoin de SQL Server puisqu'il me
suffira de faire du code pour parcourir ces fichiers et chercher un mot
précis. Là je suis sûr que je risque de perdre au moins 10 secondes par
rapport à une requête optimisée SQL Server.

"Patrice" a écrit dans le message de news:
#
> Pour moi, extraire le texte de ces documents est inutile car "index
server"
> fait cela de lui-même.
> Ensuite faut argument contraire, je pense préférable de stocker les
fichiers
> en dehors de la base de données. Il serait alors indexés avec "Index
> Server". Normalement SQL Server (MSDE ?) peut ensuite accéder aux
données
> Index Server.
>
>
>
>
> --
>
> "Georges" a écrit dans le message de
> news:chju73$37d$
> > Bonjour à tous,
> >
> > Je suis en train de concevoir une base de données SQL Server qui


doit
> > stocker normalement les informations sur des documents divers au
format
> PDF.
> > Mon objectif est d'indexer ces documents à partir de leurs


contenus
> > extraits sous forme de texte ASCII. C'est à dire que j'extrait


d'abord
> > uniquement les textes et je les stocke sous forme de fichiers. Ainsi
pour
> > chaque document j'ai un PDF et un TXT ou XML.
> > Maintenant je voulais savoir comment bien gérer cela sous SQL


Server.
En
> > effet, je voudrais intérroger la base en entrant des mots clés à
trouver
> > dans le fichier texte extrait. Est il judicieux de stocker ces
fichiers
> > textes dans les colonnes de type text sous SQL server et d'utiliser
les
> > requêtes de texte intégral ou bien de les stocker sur le disque au
format
> > XML et utiliser la prise ne charge des fichiers XML par SQl server
pour
> > interroger ces documents. Personnellement je penche pour la première
> methode
> > mais le hic est que les champs risque d'être trop volumineux car je
peux
> > avoir des documents de deux à trois pages. L'autre souci c'est que


je
> > voulais démarrer avec MSDE mais à ma connaissance la fonctionnalité


de
> > recherche de texte integral n'est pas installée avec cette version
> desktop.
> > Voila, mon problème.
> > Je suis preneur de toute idée constructive
> >
> > Merci d'avance pou toute intervention
> >
> > Georges
> >
> >
>
>




Avatar
Georges
Bonjour ARNAUD,

C'est super ce que tu propose mais j'aurai du mal à chaque fois que j'ai
un document, de contacter Kartoo.com poour les indexer et ensuite les
intégrer dans mon appli. Tu imagines le jour où Kartoo.com disparaît. Je ne
pourrais pas dire à mon client que ses fichiers ne seront plus indexés car
Kartoo n'existe plus.
Merci quand même.

Par contren je vais essayer de me pencher vers la solution d'arnaud qui
tout compte fait m'ouvrira beaucoup de possibilités même si microsoft et
adobe venaient à disparaître le jour où mon petit fils aura 65 ans.( je
plaisante)
Merci quand même. Je vous tiendrais au courant


"Arnaud CAVELIER" a écrit dans
le message de news:
> Bonjour,
>
> J'ai eu la meme problématique, et j'ai demandé à Kartoo.com d'indexer
mes
> fichiers de tous types pour moi. C'est super.
>
> N'hésitez pas à les contacter.
>
> "Patrice" a écrit :
>
> > Téléchargeable chez Adobe. L'installation n'avait posé aucun problème
chez
> > nous (Windows 2000).
> >
> > Donc si je te suis bien, tu veux extraire toi même le texte de ces
fichiers.
> > Ensuite reste donc trois solutions :
> > - parcourir toi même les textes (comme tu semble le rejeter).
> > - mettre le texte dans SQL Server et utiliser l'indexation texte
intégral
> > (mais pb si tu utilises MSDE ?)
> > - utiliser index server (qui était ma suggestion de base) que tu peux
> > interroger de diverses façons. SQL Server peut rester utile pour
> > l'organisation logique des documents dans ton système.
> >
> > Pour interroger index server :
> >
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnproasp2/h
tml/howtoperformqueriesinasp.asp
> > (à partir d'ASP, ou via fournisseur OLEDB).
> >
> > Patrice
> >
> > --
> >
> > "Georges" a écrit dans le message de
> > news:chk92p$6s3$
> > > Merci patrice,
> > >
> > > Oui, sauf que index server ne sait indexer les fichier PDF que si
on lui
> > > rajoute un utilitaire fourni par Adobe ( IPDFFilter ??? : je me
souviens
> > > plus du nom). En plus il faut jongler avec les spécficités adobe et
> > > microsoft ( des dll, des cfg, par ci par là ). C'est galère à mettre
en
> > > place et je ne serais plus maître de ce que je fais.
> > > Quant au stockage, ce n'est pas le fichier physique que je veux
stocker
> > > mais son contenu textuel. Les pDF restant sur le disque. Si je
laisse les
> > > fichiers sur le disque, je n'aurais plus besoin de SQL Server
puisqu'il me
> > > suffira de faire du code pour parcourir ces fichiers et chercher un
mot
> > > précis. Là je suis sûr que je risque de perdre au moins 10 secondes
par
> > > rapport à une requête optimisée SQL Server.
> > >
> > > "Patrice" a écrit dans le message de news:
> > > #
> > > > Pour moi, extraire le texte de ces documents est inutile car
"index
> > > server"
> > > > fait cela de lui-même.
> > > > Ensuite faut argument contraire, je pense préférable de stocker
les
> > > fichiers
> > > > en dehors de la base de données. Il serait alors indexés avec
"Index
> > > > Server". Normalement SQL Server (MSDE ?) peut ensuite accéder
aux
> > > données
> > > > Index Server.
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > >
> > > > "Georges" a écrit dans le message de
> > > > news:chju73$37d$
> > > > > Bonjour à tous,
> > > > >
> > > > > Je suis en train de concevoir une base de données SQL Server
qui
> > doit
> > > > > stocker normalement les informations sur des documents divers
au
> > > format
> > > > PDF.
> > > > > Mon objectif est d'indexer ces documents à partir de leurs
> > contenus
> > > > > extraits sous forme de texte ASCII. C'est à dire que j'extrait
> > d'abord
> > > > > uniquement les textes et je les stocke sous forme de fichiers.
Ainsi
> > > pour
> > > > > chaque document j'ai un PDF et un TXT ou XML.
> > > > > Maintenant je voulais savoir comment bien gérer cela sous SQL
> > Server.
> > > En
> > > > > effet, je voudrais intérroger la base en entrant des mots clés
à
> > > trouver
> > > > > dans le fichier texte extrait. Est il judicieux de stocker ces
> > > fichiers
> > > > > textes dans les colonnes de type text sous SQL server et
d'utiliser
> > > les
> > > > > requêtes de texte intégral ou bien de les stocker sur le
disque au
> > > format
> > > > > XML et utiliser la prise ne charge des fichiers XML par SQl
server
> > > pour
> > > > > interroger ces documents. Personnellement je penche pour la
première
> > > > methode
> > > > > mais le hic est que les champs risque d'être trop volumineux
car je
> > > peux
> > > > > avoir des documents de deux à trois pages. L'autre souci c'est
que
> > je
> > > > > voulais démarrer avec MSDE mais à ma connaissance la
fonctionnalité
> > de
> > > > > recherche de texte integral n'est pas installée avec cette
version
> > > > desktop.
> > > > > Voila, mon problème.
> > > > > Je suis preneur de toute idée constructive
> > > > >
> > > > > Merci d'avance pou toute intervention
> > > > >
> > > > > Georges
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
> >
Avatar
Georges
Bonjour,

Je reviens encore sur l'utilisation d'index server. Ce produit fait partie
de IIS et suppose donc l'utilisation d'un serveur web. Moi je ne suis pas
vraiment fana du tout internet. Mon application doit être un classique
client serveur développé sous VB ou VC++. Les clients accédant au ressources
du serveur via les mecanismes simples comme odbc, oledb. Pas de serveur web
à gerer. Donc, La question est que Est-ce que je peux utiliser index server
dans une apllication classique ??? Je ne crois pas car les documentations
ne parlent que serveur web, ASp, etc.

Merci pour votre réaction
Avatar
Fred BROUARD
personnellement je préconise une indexation manuelle comme indiqué si contre :
http://sqlpro.developpez.com/IndxTxt/SQL_IndxTXT.html
de plus je travaille au développement d'une solution à tolérance de frappe/faute
d'orthographe, phonétique

A +

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************


Georges a écrit:
Bonjour à tous,

Je suis en train de concevoir une base de données SQL Server qui doit
stocker normalement les informations sur des documents divers au format PDF.
Mon objectif est d'indexer ces documents à partir de leurs contenus
extraits sous forme de texte ASCII. C'est à dire que j'extrait d'abord
uniquement les textes et je les stocke sous forme de fichiers. Ainsi pour
chaque document j'ai un PDF et un TXT ou XML.
Maintenant je voulais savoir comment bien gérer cela sous SQL Server. En
effet, je voudrais intérroger la base en entrant des mots clés à trouver
dans le fichier texte extrait. Est il judicieux de stocker ces fichiers
textes dans les colonnes de type text sous SQL server et d'utiliser les
requêtes de texte intégral ou bien de les stocker sur le disque au format
XML et utiliser la prise ne charge des fichiers XML par SQl server pour
interroger ces documents. Personnellement je penche pour la première methode
mais le hic est que les champs risque d'être trop volumineux car je peux
avoir des documents de deux à trois pages. L'autre souci c'est que je
voulais démarrer avec MSDE mais à ma connaissance la fonctionnalité de
recherche de texte integral n'est pas installée avec cette version desktop.
Voila, mon problème.
Je suis preneur de toute idée constructive

Merci d'avance pou toute intervention

Georges




Avatar
Georges
Merci Fred,
Superbe article. Cela remet en cause ma conception mais ça vaut vraiment
le coup d'essayer.

"Fred BROUARD" a écrit dans le message de
news:
> personnellement je préconise une indexation manuelle comme indiqué si
contre :
> http://sqlpro.developpez.com/IndxTxt/SQL_IndxTXT.html
> de plus je travaille au développement d'une solution à tolérance de
frappe/faute
> d'orthographe, phonétique
>
> A +
>
> --
> Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
> Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
> Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
> ************************ www.datasapiens.com *************************
>
>
> Georges a écrit:
> > Bonjour à tous,
> >
> > Je suis en train de concevoir une base de données SQL Server qui doit
> > stocker normalement les informations sur des documents divers au
format PDF.
> > Mon objectif est d'indexer ces documents à partir de leurs contenus
> > extraits sous forme de texte ASCII. C'est à dire que j'extrait d'abord
> > uniquement les textes et je les stocke sous forme de fichiers. Ainsi
pour
> > chaque document j'ai un PDF et un TXT ou XML.
> > Maintenant je voulais savoir comment bien gérer cela sous SQL Server.
En
> > effet, je voudrais intérroger la base en entrant des mots clés à
trouver
> > dans le fichier texte extrait. Est il judicieux de stocker ces
fichiers
> > textes dans les colonnes de type text sous SQL server et d'utiliser
les
> > requêtes de texte intégral ou bien de les stocker sur le disque au
format
> > XML et utiliser la prise ne charge des fichiers XML par SQl server
pour
> > interroger ces documents. Personnellement je penche pour la première
methode
> > mais le hic est que les champs risque d'être trop volumineux car je
peux
> > avoir des documents de deux à trois pages. L'autre souci c'est que je
> > voulais démarrer avec MSDE mais à ma connaissance la fonctionnalité de
> > recherche de texte integral n'est pas installée avec cette version
desktop.
> > Voila, mon problème.
> > Je suis preneur de toute idée constructive
> >
> > Merci d'avance pou toute intervention
> >
> > Georges
> >
> >
>