Sql server 仅保存SQL Server全文搜索目录中的一些行

Sql server 仅保存SQL Server全文搜索目录中的一些行,sql-server,full-text-search,Sql Server,Full Text Search,有没有办法只将一些记录保存到全文目录?例如,我们有一个带有列的taxablePerson表 Id, VatNumber, Name, Street, ....other fields ..., RecCreatedOn, RecCreatedBy, RecModifiedOn, RecModifiedBy, RecActive 列RecActive表示此记录是否有效。记录不会被删除,而是通过设置RecActive=0将其删除。当我搜索时,我运行: SELECT TOP 50 * FROM Ta

有没有办法只将一些记录保存到全文目录?例如,我们有一个带有列的taxablePerson表

Id, VatNumber, Name, Street, ....other fields ...,
RecCreatedOn, RecCreatedBy, RecModifiedOn, RecModifiedBy, RecActive
RecActive表示此记录是否有效。记录不会被删除,而是通过设置RecActive=0将其删除。当我搜索时,我运行:

SELECT TOP 50 *
FROM TaxPerson.TaxablePerson AS tp
INNER JOIN CONTAINSTABLE(TaxPerson.TaxablePerson, (Name), @find) AS key_table
   ON key_table.[key] = tp.id
WHERE tp.RecActive = 1
ORDER BY key_table.rank DESC;

通过不应用内部联接,性能非常好。是否有一种方法可以只将RecActive=1的记录放入全文搜索目录。这将是ms sql fts的一个重要功能。

您可以创建一个视图,然后向视图中添加全文索引。

您可以创建一个视图,然后向视图中添加全文索引。

我希望,这就是您要找的。过滤索引?@Aditya这将是一种解决方案,但不支持过滤,例如在TaxPerson.TaxablePerson(名称)上创建TaxPerson.TaxablePerson(名称)的全文索引Id在TaxPerson目录上,其中TaxPerson.RecActive=1。无论如何,谢谢。我直到现在才知道你可以创建过滤索引。我希望,这就是你要找的。过滤索引?@Aditya这将是一种解决方案,但不支持过滤,例如在TaxPerson.TaxablePerson(名称)上创建TaxPerson.TaxablePerson(名称)的全文索引Id在TaxPerson目录上,其中TaxPerson.RecActive=1。无论如何,谢谢你,直到现在我才知道你可以创建过滤索引。