SQL полнотекстовый поиск - PullRequest
0 голосов
/ 22 апреля 2009

Я настроил функцию полнотекстового поиска в SQL Server 2008 express. Вот что я сделал:

-- STEP 1: Create catalog
create fulltext catalog HtmlSearch

-- STEP 2: Fill catalog
create fulltext index on docs
(WordHtml)
key index IX_docs_1
on HtmlSearch
with change_tracking auto

-- STEP 3: Search
select * from docs
where freetext(*, 'beleid')

В таблице документов есть одна строка, в которой поле WordHtml имеет (html) содержимое. Когда я выполняю шаг 3, ничего не происходит. Я уверен, что термин «beleid» существует в html-документе. Результат запроса - 0 записей. Так что я делаю не так? Нужно ли где-то настраивать, чтобы это поле было Html? И так, как мне это сделать?

1 Ответ

1 голос
/ 14 мая 2009

Аналогичный запрос работал с моей базой данных, поэтому я посмотрел бы на настройку. Вот несколько вещей, которые вы можете попробовать:

Похоже, что индекс сейчас не приносит вам никакой пользы, поэтому я бы бросил его и попытался воссоздать. Я знаком только с 2005 годом, но используемый вами синтаксис не похож на мой. Вы можете попробовать (после соответствующих капель)

CREATE FULLTEXT Catalog HtmlSearch AS DEFAULT;

GO

CREATE FULLTEXT INDEX ON docs
( WordHtml Language English )
KEY INDEX IX_docs_1
WITH CHANGE_TRACKING auto;

GO

Я предполагаю, что WordHtml - это имя столбца, который вы хотите проиндексировать. Если это так, то это соответствует тому, что я делал в 2005 году.

Далее вы можете попробовать явно заполнить полнотекстовый индекс. В этом может не быть необходимости, но я всегда делаю это после создания полнотекстового индекса.

ALTER FULLTEXT INDEX ON docs
START FULL POPULATION;

GO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...