用于全文搜索的 SQL Server 索引视图
Posted
技术标签:
【中文标题】用于全文搜索的 SQL Server 索引视图【英文标题】:SQL Server Indexed view for Full Text Search 【发布时间】:2011-03-30 02:07:21 【问题描述】:我想使用 Microsoft SQL Server 的全文搜索功能。
如果我有一个表 Client 引用其他表,如 City、Country、Department 等在每个外部表中创建一个虚拟值(例如使用键 -1 ),然后用那些相应的虚拟值替换客户端表中的 NULL,然后创建一个索引视图(这些虚拟条目是因为索引视图和使用'inner join' 而不是 'left join')然后在这个索引视图上创建一个全文索引?
使用后者,我不必担心每次客户端或任何外部表(城市、国家、部门等)中的记录发生更改时填充“非规范化”表。
或者以上都不是,我也可以使用一些新的想法:)
【问题讨论】:
【参考方案1】:以上都不是。
保持数据规范化并在每个规范化表上创建单独的 FT 索引。查询数据时,查询相关表。如果您希望查询跨越多个表(例如,如果 City、Country 或 Department 包含“York”),则使用普通查询 UNION
运算符来聚合跨多个表的搜索。这就是 FT 的工作方式,因此请让您的设计与功能的工作方式保持一致。不要试图作弊,你只会烧伤自己。
【讨论】:
如果性能是一个问题,OP 问题中的选项 1 不是可行的解决方案吗?供参考:***.com/a/8932733/538962以上是关于用于全文搜索的 SQL Server 索引视图的主要内容,如果未能解决你的问题,请参考以下文章