[英]Full Text Search On Relational Tables?
我有一個 sql 服務器數據庫,它有多個相互關聯的表。
我想知道是否可以為此使用 FreeTextTable 或 ContainsTable?
我只看到了查看一張表並搜索所有列的示例。 我還沒有見過我可能會說表格的情況。 讓我們稱之為“學生申請表”。
在此表格上,它可能包含以下信息
現在我想構建 1 個搜索框來搜索所有這些表並找到這個“應用程序”
用戶可能會輸入
約翰史密斯主校區動機
因此,所有表和列都需要檢查,但最終結果將帶回全文搜索認為與輸入內容匹配的應用程序。
表結構可能是這樣的
應用
校園
地址
在我的真實數據庫中,我得到了 5 或 6 個與“應用程序”表連接的表,並且都需要考慮在內。
這可以通過全文搜索來完成嗎? 還是我必須單獨搜索每個表並以某種方式將它們重新組合在一起。
您可以使用一個索引視圖來連接您要搜索的所有值...
CREATE VIEW dbo.V_FT
WITH SCHEMABINDING
AS
SELECT A.id,
CONCAT(firstName, '#', lastName, '#', C.name, '#',D.name) AS DATA
FROM dbo.Application
JOIN dbo.Campus AS C ON C.id = A.campusId
JOIN dbo.Address AS D ON C.id = A.AddressId;
GO
CREATE UNIQUE CLUSTERED INDEX X_V_APP ON dbo.V_FT (id);
GO
然后在索引視圖的 DATA 列上創建一個 FT 索引
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.