Структура полнотекстового индекса
Чтобы понять, как работает средство полнотекстового поиска Майкрософт для SQL Server (MSFTESQL), необходимо разобраться в структуре полнотекстового индекса. В приведенном ниже фрагменте таблицы Document базы данных Adventure Works показаны два столбца (DocumentID и Title) и три строки.
В этом примере подразумевается, что полнотекстовый индекс был создан по столбцу Title.
DocumentID | Title |
---|---|
1 |
Crank Arm and Tire Maintenance |
2 |
Front Reflector Bracket and Reflector Assembly 3 |
3 |
Front Reflector Bracket Installation |
В приведенном ниже фрагменте таблицы показано содержимое полнотекстового индекса, созданного по столбцу Title таблицы Document.
Примечание. |
---|
Полнотекстовые индексы содержат больше данных, чем представлено в этой таблице. Таблица ниже приведена только для наглядности. |
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 содержит представление одной лексемы, извлеченной при индексировании. Лексемы определяются средствами разбиения по словам.
Столбец ColId содержит значение, соответствующее таблице и столбцу, по которому выполняется полнотекстовое индексирование.
Столбец DocId содержит значения четырехбайтового целого числа, соответствующего определенному значению полнотекстового ключа в определенной таблице, в которой выполняется полнотекстовое индексирование. Значения DocId, удовлетворяющие условию поиска, передаются из службы MSFTESQL в ядро СУБД, где они сопоставляются со значениями полнотекстового ключа из базовой таблицы, к которой был сделан запрос.
Столбец Occ содержит целочисленное значение. Каждому значению DocId соответствует список значений частотности, которые соответствуют относительным смещениям слов для определенного ключевого слова в документе с этим значением DocId. С помощью значений частотности удобно определять фразовое или близкое совпадение; например, для фраз значения частотности находятся рядом. Кроме того, их удобно использовать при вычислении коэффициента степени соответствия; например, можно использовать при подсчете частотность ключевого слова в документе DocId.
См. также
Основные понятия
Средство полнотекстового поиска (Майкрософт) для SQL Server
Основы полнотекстового поиска
Полнотекстовые индексы
Другие ресурсы
CREATE FULLTEXT INDEX (Transact-SQL)