1

我想使用 Microsoft SQL Server 的全文搜索功能。

如果我有一个表 Client 引用其他表,如 City、Country、Department 等每个外部表中的虚拟值(例如使用键 -1 ),然后用那些相应的虚拟值替换客户端表中的 NULL,然后创建一个索引视图(这些虚拟条目是因为索引视图和使用 'inner join' 而不是 'left join')然后在这个索引视图上创建一个全文索引?

使用后者,我不必担心每次客户端或任何外部表(城市、国家、部门等)中的记录发生更改时填充“非规范化”表。

或者以上都不是,我也可以使用一些新想法:)

4

1 回答 1

4

以上都不是。

保持数据规范化并在每个规范化表上创建单独的 FT 索引。查询数据时,查询相关表。如果您希望查询跨越多个表(例如,如果 City、Country 或 Department 包含“York”),则使用普通查询UNION运算符来聚合跨多个表的搜索。这就是 FT 的工作方式,因此请让您的设计与功能的工作方式保持一致。不要试图欺骗,你只会烧伤自己。

于 2010-08-15T16:11:59.080 回答