全文檢索索引結構
若能充分瞭解全文檢索索引的結構,有助於瞭解「Microsoft SQL Server 全文檢索引擎」(MSFTESQL) 服務的運作方式。下面在 Adventure Works 的 Document 資料表中的摘錄,會在資料表中顯示兩個資料行以及三個資料列,分別是 DocumentID 資料行及 Title 資料行。
就這個例子而言,我們會假設已經在 Title 資料行中建立了全文檢索索引。
DocumentID | Title |
---|---|
1 |
Crank Arm and Tire Maintenance |
2 |
Front Reflector Bracket and Reflector Assembly 3 |
3 |
Front Reflector Bracket Installation |
下面的資料表片段描述在 Document 資料表的 Title 資料行上建立的全文檢索索引內容。
附註: |
---|
全文檢索索引所包含的資訊會比顯示在此資料表中的資訊還要多。下面的資料表僅供示範用。 |
Keyword | ColId | DocId | Occ |
---|---|---|---|
Crank |
1 |
1 |
1 |
Arm |
1 |
1 |
2 |
Tire |
1 |
1 |
4 |
Maintenance |
1 |
1 |
5 |
Front |
1 |
2 |
1 |
Front |
1 |
3 |
1 |
Reflector |
1 |
2 |
2 |
Reflector |
1 |
2 |
5 |
Reflector |
1 |
3 |
2 |
Bracket |
1 |
2 |
3 |
Bracket |
1 |
3 |
3 |
Assembly |
1 |
2 |
6 |
3 |
1 |
2 |
7 |
Installation |
1 |
3 |
4 |
Keyword 資料行包含編列索引時所擷取的單一 Token 表示法。文字分隔會決定 Token 的組成項目。
ColId 資料行中的值,會對應到已建立全文檢索索引的資料表與資料行。
DocId 資料行含有四位元組整數的值,此整數會對應到全文檢索索引資料表中的特定全文檢索索引鍵值。滿足搜尋條件的 DocId 值會從 MSFTESQL 服務傳送至 Database Engine,在此處會將這些值對應到正在查詢之基底資料表中的全文檢索索引鍵值。
Occ 資料行含有整數值。針對每個 DocId 值,都會有一個對應到該 DocId 內關鍵字的相關字位移的出現次數值清單。出現次數值有助於決定詞句或相似的相符項目,例如,具有鄰近發生次數值的片語。它們也有助於計算相關分數;例如,在 DocId 中的關鍵字出現次數可用來計分。
請參閱
概念
Microsoft SQL Server 全文檢索引擎
全文檢索搜尋基礎觀念
全文檢索索引
其他資源
CREATE FULLTEXT INDEX (Transact-SQL)