对计算列进行全文搜索

时间:2009-01-19 03:09:02

标签: sql-server sql-server-2008 full-text-search

我需要允许在两个连接在一起的字段进行全文搜索。在这种情况下,FullName = FirstName +''+ LastName。简单的方法似乎是创建一个FullName计算列,然后将其作为全文索引中的列包含在内。这是一种可接受的方法吗?你会怎么做?

UPDATE和INSERT很少发生,使用CONTAINS的SELECT比较常见。我正在使用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 个答案:

答案 0 :(得分:2)

您可以为视图添加全文索引。

创建一个包含两列连接列的视图。确保使用“架构绑定”创建它:

使用SCHEMABINDING创建视图[dbo]。[v_MyView] 等。

如果您使用的是Management Studio,则其余部分应该很简单。