2010-11-16 67 views
1

我在varbinary(max)filestream列上创建了全文索引。我的PDF和XML都存储在这个文件流中,因此两者都被编入索引。不过,我真的不想索引这些XML文件,因为恐怕随着时间的推移,他们会膨胀我的索引并拖慢速度。所以我真正想做的只是在PDF文件中使用我的全文索引。有没有办法做到这一点?我可以以某种方式禁用XML过滤器,也许?从全文索引中排除文件类型

回答

1

假设您能够通过常规的WHERE谓词(例如WHERE type ='pdf')区分两种类型的行,那么您可以创建一个索引视图,将行筛选为仅需要索引的行,然后全文索引索引视图而不是表格。但是,您需要查询视图而不是表格来使用FTI。

+0

有趣的想法。任何想法通过搜索索引视图可以找到什么缺点?也许更慢? – Jagd 2010-11-16 18:28:05

+0

索引视图就像一个表,它有自己的聚集索引,这意味着所有数据都从表中复制到(物化)视图中。你可以添加索引到它,并真正使用它就像一个普通的表。但是有一些限制,主要是定义视图的SQL的本质。如果您在所有想要使用视图索引的查询中没有使用Enterprise Edition(尽管这不适用于全文索引),您还需要指定“WITH(NOEXPAND)”查询提示。 – 2010-11-16 19:53:08