Структура повнотекстового індексу

Стовпець Keyword містить уявлення одного токена, витягнутого при індексуванні. Токени визначаються засобами розбиття по словам.

Стовпець ColId містить значення, відповідне колонки, за яким виконується повнотекстове індексування.

Стовпець DocId містить значення восьмібайтового цілого числа, відповідного значенню повнотекстового ключа в певній таблиці, в якій виконується повнотекстове індексування. Така поведінка необхідно, якщо повнотекстовий ключ має тип даних, відмінний від цілого. У таких випадках зіставлення між значеннями повнотекстового ключа і значеннями DocId забезпечується в окремій таблиці, званої таблицею співставлення DocId. Для створення запитів до цих зіставлень слід використовувати системну збережену процедуру sp_fulltext_keymappings. Для задоволення умови пошуку необхідно з'єднати значення DocId з наведеної вище таблиці з таблицею співставлення DocId. Це дозволить повертати рядки з запитуваної базової таблиці. Якщо значення повнотекстового ключа з базової таблиці має цілочисельний тип, то саме значення служить в якості значення DocId і додаткового зіставлення не потрібно. Отже, використання цілочисельних значень повнотекстового ключа може оптимізувати виконання повнотекстових запитів.

Стовпець Occurrence містить цілочисельне значення. Кожному значенню DocId відповідає список значень частотності, які відповідають відносним зсувам слів для певного ключового слова в документі з цим значенням DocId. За допомогою значень частотності зручно визначати фразовое або близький збіг; наприклад, для фраз значення частотності знаходяться поруч. Крім того, їх зручно використовувати при обчисленні коефіцієнта релевантності. Наприклад, вони дають можливість підрахувати частоту вживання ключового слова в документі DocId.

Логічний повнотекстовий індекс зазвичай розподіляється по декількох внутрішнім таблиць. Кожна з внутрішніх таблиць називається фрагментом повнотекстового індексу. Деякі з даних фрагментів можуть містити більш свіжі дані. Наприклад, якщо користувач оновлює наступний рядок з DocId, рівним 3, а в таблиці виконується автоматичне відстеження змін, то буде створено новий фрагмент.