Hoe in documenten zoeken met SQL Server?

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • DarthDavy
  • Registratie: Januari 2007
  • Laatst online: 06-06 16:12

DarthDavy

Excellent!

Topicstarter
Ik heb een tabel waar documenten zijn opgeslaan. De documenten gaan van .doc, .xls, .pdf, .txt,...

Nu wil men gaan zoeken naar keywords in die documenten. De documenten zijn opgeslaan als binary data (image column) met daarnaast hun bestandsnaam en extensie.

Ik dacht dit te gaan doen met de Full-Text Search Engine van SQL server, maar ik ben daar tegen het probleem gestoten dat die engine enkel zoekt naar woorden die hij kent. Als je bijvoorbeeld naar het keyword "huppeldepup" wilt zoeken en de search engine kent het woord "huppeldepup" niet dan krijg ik geen resultaten. No go voor mijn applicatie.

Dus ik zit nu vast van hoe ik dit eenvoudig kan bewerkstelligen. Iemand iets soortgelijks gedaan? En hoe heb je dat dan geïmplementeerd.

De technologieën van de applicatie zijn: .Net Framework 3.5, C#, database is SQL Server 2008 en er wordt met NHibernate als ORM-mapper gewerkt. Maar ik sta open voor alles: een stored procedure die tekst als parameter aanvaardt en dan in die image column gaat zoeken, anything...

Bier zonder alcohol is zoals een BH aan de wasdraad: het beste is eruit


Acties:
  • 0 Henk 'm!

  • Cousin Boneless
  • Registratie: Juni 2008
  • Laatst online: 28-02 12:55
Je aanname dat huppeldepup niet gevonden kan worden klopt volgens mij niet. Er is een lijst van woorden waar niet op gezocht wordt (noise words/stop words). Het gaat dan om veel voorkomende dingen als 'de', 'het' en 'een' (en 'sint-juttemis' kan ik me herinneren :)). Deze lijst is te configureren.
Let er wel op dat dit full text zoeken een eigen syntax heeft. zoeken op huppeldepup wordt '"huppeldepup"' (dus tussen dubbele quotes) Eventueel nog aangevuld met een wildcard '"huppeldepup *"'

[ Voor 37% gewijzigd door Cousin Boneless op 24-02-2009 15:41 ]


Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 05-09 21:08
DarthDavy schreef op dinsdag 24 februari 2009 @ 12:55:
Nu wil men gaan zoeken naar keywords in die documenten. De documenten zijn opgeslaan als binary data (image column) met daarnaast hun bestandsnaam en extensie.

Ik dacht dit te gaan doen met de Full-Text Search Engine van SQL server
Eh... kan de Full-Text Search Engine zoeken in binary data?

Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Wij maken gebruik van de Lucene(.net) engine. Zeer uitgebreid (voor de query syntax heeft veel mogelijkheden) en goed opgezet c.q. uitgedacht. Het heeft wel een klein nadeel: Voor kleinere projecten kan het opzetten van de indexers een wat grote overhead vormen. Maar net zoals een O/R mapper en een IoC framework (Ninject, Unity, Windsor Containers, etc) een bepaald omslagpunt hebben, heeft Lucene dat ook.

If it isn't broken, fix it until it is..


Acties:
  • 0 Henk 'm!

  • Cousin Boneless
  • Registratie: Juni 2008
  • Laatst online: 28-02 12:55
Eh... kan de Full-Text Search Engine zoeken in binary data?
Ja, voor de formaten waar een filter voor bestaat. Vandaar dat je de extensie van de file moet opgeven in een extra field. http://technet.microsoft.com/en-us/library/ms142499.aspx

[ Voor 14% gewijzigd door Cousin Boneless op 24-02-2009 13:26 ]


Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:33

TeeDee

CQB 241

Staan hier tips tussen?

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

  • Boss
  • Registratie: September 1999
  • Laatst online: 20:07

Boss

+1 Overgewaardeerd

Ik gebruik de full-text index van MS SQL al heel wat jaren naar volle tevredenheid. Binary data (doc, pdf, html, txt, xml, ppt, xls, ...) wordt allemaal prima geindexeerd. Woorden zoeken moet ook gewoon kunnen met de juiste SQL syntax. Volgens mij kan je ook (weet ik niet zeker, wij gebruiken dat niet) op woorden zoeken die bijna gelijk zijn (andere accenten, kleine spellingsverschillen).

Oftewel: je zou prima uit de voeten moeten kunnen met MS SQL server.

We zijn nu zelf bezig met een alternatief, een documentenserver waar je via SOAP documenten in kan hangen, waarna die ook full-text geïndexeerd en doorzoekbaar zijn. Alleen dan niet meer op basis van MS SQL server, maar database en platform onafhankelijk. Best leuk om zoiets eens te maken!

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.

Pagina: 1