2012-01-18 70 views
0

我的網站要求用戶可以搜索許多不同的表格和列。所以我正在努力使用全文搜索來實現這一點。全文索引設計注意事項(SQL Server 2008)

我想從以下問題獲得更多FTS經驗的人的一些意見。

  1. 雖然FTS允許您從同一個表在一個單一的搜索搜索多列,我沒有看到一個選項來搜索單個搜索多個表中的多個列。這是事實嗎?

  2. 如果我需要多個搜索來跨多個表進行搜索,將每個表的索引放在不同的全文目錄中是否有意義?這些巫師似乎爲大型表推薦了一個新的目錄,但我不知道在這種情況下「大」意味着什麼。

  3. 最後,是否有任何想排序的結果,以便表中的一列中的匹配出現在另一列的匹配之前?

回答

0

1.當FTS允許您從同一個表在一個單一的搜索搜索多列,我沒有看到一個選項來搜索一個搜索來自多個表的多個 列。這實際上是 的情況嗎?

單個表上的FTIndex不能包含來自其他表的列。因此,通常情況下,您只需編寫查詢,以便進行多次搜索(您在#2中提到了這一點)。

另一種選擇是創建跨多個表的索引視圖(see requirements),然後在視圖之上構建FTIndex。我相信這是可能的,但你應該測試確定性。

2.如果我需要多個搜索來跨多個表進行搜索,將每個表的索引放在不同的全文 目錄中是否有意義?這些嚮導似乎推薦了一個更大的 表的新目錄,但我不知道這種情況下「大」意味着什麼。

不應該在SQL2008中有所作爲,因爲該目錄只是一個邏輯分組。但是,如果您有一個合理的磁盤子系統(類似考慮跨越不同磁盤上的文件組對錶進行分區以分散IO),則可以考慮將FTIndex放在不同的文件組上。

3.最後,是否有任何想排序的結果,以便表中的一列中的匹配出現在另一列中的匹配之前?我不相信這是可能的...