[英]Full-Text Index Design Considerations (SQL Server 2008)
我的网站要求用户可以搜索许多不同的表和列。 因此,我正在努力使用全文搜索来实现这一目标。
我想从对以下问题有更多FTS经验的人那里获取一些意见。
虽然FTS允许您通过一次搜索从同一表中搜索多个列,但我没有看到在一次搜索中从多个表中搜索多个列的选项。 实际上是这样吗?
如果我需要多个搜索来跨多个表进行搜索,那么将每个表的索引放在不同的全文目录中是否有意义? 向导似乎为较大的表推荐了新的目录,但是我不知道在这种情况下“大”的含义。
最后,是否有必要对结果进行排序,以使表的一列中的匹配项优先于另一列中的匹配项?
1.虽然FTS允许您通过一次搜索从同一表中搜索多个列,但我没有看到在一次搜索中从多个表中搜索多个列的选项。 实际上是这样吗?
单个表上的FTIndex不能包含另一个表中的列。 因此,通常情况下,您只需要编写查询即可进行多次搜索(您在#2中提到过)。
另一种选择是创建一个跨多个表的索引视图( 请参阅需求 ),然后在该视图顶部构建一个FTIndex。 我相信这是可能的,但是您应该测试确定性。
2.如果我需要多次搜索来跨多个表进行搜索,是否有必要将每个表的索引放在不同的全文目录中? 向导似乎为较大的表推荐了新的目录,但是我不知道在这种情况下“大”的含义。
因为目录只是一个逻辑分组,所以在SQL2008中不应有所作为。 但是,如果您有一个有意义的磁盘子系统,则可以考虑将FTIndexes放在不同的文件组上(与在不同磁盘上的文件组上对表进行分区的类似考虑...以分散IO)。
3.最后,是否需要对结果进行排序,以使表的一列中的匹配项比另一列中的匹配项先出现? 我不认为这是可能的...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.