Полнотекстовый поиск по рассчитанным столбцам - PullRequest
2 голосов
/ 19 января 2009

Мне нужно разрешить полнотекстовый поиск по двум полям, которые объединены вместе. В этом случае FullName = FirstName + '' + LastName. Кажется, что простой подход заключается в создании вычисляемого столбца FullName и включении его в качестве столбца в полнотекстовую индексацию. Это приемлемый подход? Как бы вы это сделали?

UPDATE и INSERT происходят очень редко, SELECT с использованием CONTAINS очень распространен для сравнения. Я использую SQL 2008.

Пример определения таблицы, где FirstName, LastName, NickName и FullName являются столбцами, используемыми в полнотекстовом поиске:

TABLE Player
    Id uniqueidentifier ROWGUIDCOL NOT NULL DEFAULT (newid()),
    ...
    FirstName nvarchar(128),
    LastName nvarchar(128),
    NickName nvarchar(128),
    FullName  AS ([FirstName]+' '+[LastName]) PERSISTED

1 Ответ

2 голосов
/ 19 января 2009

Вы можете добавить полнотекстовый индекс в представление.

Создайте представление, объединяющее две колонки. Обязательно создайте его с «привязкой схемы»:

СОЗДАТЬ ПРОСМОТР [dbo]. [V_MyView] С РАЗМЕЩЕНИЕМ и т.д ..

Если вы используете Management Studio, остальная часть процесса должна быть простой.

...