簡體   English   中英

全文索引設計注意事項(SQL Server 2008)

[英]Full-Text Index Design Considerations (SQL Server 2008)

我的網站要求用戶可以搜索許多不同的表和列。 因此,我正在努力使用全文搜索來實現這一目標。

我想從對以下問題有更多FTS經驗的人那里獲取一些意見。

  1. 雖然FTS允許您通過一次搜索從同一表中搜索多個列,但我沒有看到在一次搜索中從多個表中搜索多個列的選項。 實際上是這樣嗎?

  2. 如果我需要多個搜索來跨多個表進行搜索,那么將每個表的索引放在不同的全文目錄中是否有意義? 向導似乎為較大的表推薦了新的目錄,但是我不知道在這種情況下“大”的含義。

  3. 最后,是否有必要對結果進行排序,以使表的一列中的匹配項優先於另一列中的匹配項?

1.雖然FTS允許您通過一次搜索從同一表中搜索多個列,但我沒有看到在一次搜索中從多個表中搜索多個列的選項。 實際上是這樣嗎?

單個表上的FTIndex不能包含另一個表中的列。 因此,通常情況下,您只需要編寫查詢即可進行多次搜索(您在#2中提到過)。

另一種選擇是創建一個跨多個表的索引視圖( 請參閱需求 ),然后在該視圖頂部構建一個FTIndex。 我相信這是可能的,但是您應該測試確定性。

2.如果我需要多次搜索來跨多個表進行搜索,是否有必要將每個表的索引放在不同的全文目錄中? 向導似乎為較大的表推薦了新的目錄,但是我不知道在這種情況下“大”的含義。

因為目錄只是一個邏輯分組,所以在SQL2008中不應有所作為。 但是,如果您有一個有意義的磁盤子系統,則可以考慮將FTIndexes放在不同的文件組上(與在不同磁盤上的文件組上對表進行分區的類似考慮...以分散IO)。

3.最后,是否需要對結果進行排序,以使表的一列中的匹配項比另一列中的匹配項先出現? 我不認為這是可能的...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM