2009-03-08 1 views
0

Я создаю простой инструмент поиска для поиска статей 'n' содержимого html. Я попробовал опцию полнотекстового поиска, и все было хорошо, пока мы не поехали вживую, и у меня возникли проблемы с тем, что веб-хостинг получил нужный материал. Так что мне, возможно, придется перейти на хост, который не поддерживает SQL fulltext.поиск HTML, хранящийся как двоичное изображение в SQl2000/2005 (без полнотекстового)

Все статьи хранятся в столбце «образ изображения» SQL, все, что я хочу сделать, это запустить поиск по запросу «% keyword%» в этом столбце, но понятия не имеет, как это сделать или если оно равно возможное.

Может ли SQLserver декодировать двоичный файл и выполнять поиск на лету?

Или я буду лучше хранить только текстовую версию контента во втором столбце?

Я посмотрел проект Lucene.net, но не уверен, что это будет работать на платформе общего хостинга.

любая помощь будет очень признательна.

ура. craig

ответ

1

Это зависит от вашей версии SQL-сервера - в 2000 году вам, вероятно, не повезло. «Изображение» на самом деле всего лишь двоичный blob - никаких строковых функций или что-то не будет работать на нем.

В SQL Server 2005 вы можете преобразовать это (либо в схему базы данных, либо «на лету» с CAST) в VARCHAR (MAX) - текстовый тип до 2 ГБ, который может иметь дело с нормальной строкой функции, и их можно искать с помощью WHERE CAST (blob AS VARCHAR (MAX)) LIKE '.......'

Это не будет точно молниеносно, но это может сработать. Я бы предпочел изменить тип данных этого столбца на VARCHAR (Max), хотя - весь текст, поддерживаемый до 2 ГБ, должен быть достаточно хорош для нескольких HTML-документов.

Марк

+0

благодаря Марк, к сожалению, Fasthosts только SQL2000, одна из проблем, которые я имею с ними .... – chillfire

+0

OK - любой шанс 8000 символов может быть достаточно для вас? Было бы лучше иметь столбец типа VARCHAR (8000), а не IMAGE ...... –