2009-03-08 3 views
0

Ich baue ein einfaches Suchwerkzeug, um 'n' Artikel von HTML-Inhalt zu durchsuchen. Ich habe versucht, die Volltextsuchoption und alles war gut, bis wir live ging und ich hatte eine Menge Probleme mit dem Webhost bekommen Sachen richtig sortiert. Also muss ich vielleicht zu einem Host wechseln, der keine SQL-Volltext-Unterstützung hat.Suche HTML gespeichert als Binärbild in SQl2000/2005 (ohne Volltext)

Alle Artikel sind in einer SQL-Spalte "image" gespeichert, alles was ich tun möchte, ist eine LIKE '% keyword%' Suche in dieser Spalte, aber keine Ahnung wie man das macht oder ob es gerade ist möglich.

Kann SQLServer die Binärdatei dekodieren und eine Suche im laufenden Betrieb durchführen?

Oder ist es besser, nur eine reine Textversion des Inhalts in einer zweiten Spalte zu speichern?

Ich habe das Lucene.net-Projekt angeschaut, bin mir aber nicht sicher, ob dies auf einer Shared-Hosting-Plattform funktionieren wird.

jede Hilfe wird sehr geschätzt.

Prost. craig

Antwort

1

Es hängt von Ihrer Version von SQL Server ab - im Jahr 2000 haben Sie wahrscheinlich kein Glück. "Image" ist wirklich nur ein binärer Blob - keine String-Funktionen oder irgendetwas wird daran arbeiten.

In SQL Server 2005 könnten Sie dies möglicherweise (entweder im Datenbankschema oder im laufenden Betrieb mit CAST) in VARCHAR (MAX) konvertieren - ein Texttyp bis zu 2 GB, der mit der normalen Zeichenfolge umgehen kann Funktionen und kann mit WHERE CAST (Blob AS VARCHAR (MAX)) wie '.......'

Es wird nicht genau blitzschnell sein - aber es könnte funktionieren Ich würde es vorziehen, den Datentyp dieser Spalte zu VARCHAR (Max) zu ändern, obwohl - alles nur Text, bis zu 2 GB unterstützt - für einige HTML-Dokumente gut genug sein sollte.

Marc

+0

dank Marc, leider nur Fasthosts SQL2000 haben, eines der Probleme, die ich mit ihnen .... – chillfire

+0

OK - eine Chance, 8000 Zeichen könnte für Sie genug? Es wäre definitiv besser, wenn die Säule vom Typ VARCHAR (8000) statt IMAGE wäre ...... –