Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
База данных SQL Azure
Управляемый экземпляр SQL Azure
Чтобы предотвратить раздутие полнотекстового индекса, SQL Server Database Engine использует механизм, который удаляет часто встречающиеся строки, не помогающие в поиске. Эти отброшенные строки называются стоп-словами. Во время создания индекса средство полнотекстового поиска не включает стоп-слова в полнотекстовый индекс. Это означает, что полнотекстовые запросы не выполняют поиск по стоп-словам.
| Срок | Description |
|---|---|
| Стопворды | Стоп-слово может быть словом со значением в конкретном языке. Например, в английском языке такие слова, как a, and, is и the, не включаются в полнотекстовый индекс, поскольку считается, что они не имеют ценности для поиска. Стопворд также может быть токеном , не имеющим лингвистического значения. |
| Стоп-листы | Стопворды управляются в базах данных с помощью объектов, называемых стоп-листами. Список стоп-слов связан с полнотекстовым индексом и применяется к полнотекстовым запросам по этому индексу. |
Использование имеющегося списка стоп-слов
Вы можете использовать существующий список стоп-слов следующим образом:
Используйте системный стоп-список в базе данных. ядро СУБД поставляется с системным стоп-листом, содержащим наиболее часто используемые стоп-слова для каждого поддерживаемого языка, то есть для каждого языка, связанного с заданными разрывчиками слов по умолчанию. Вы можете скопировать системный список стоп-слов и внести необходимые изменения в созданную копию, добавляя и удаляя стоп-слова.
Стоп-лист системы устанавливается в базе данных ресурсов.
Используйте существующий собственный стоп-лист из другой базы данных в текущем экземпляре сервера, а затем добавляйте или убирайте стоп-слова по мере необходимости.
Создайте новый стоп-лист
Вы можете создать стоп-лист, используя Transact-SQL (T-SQL) или SQL Server Management Studio (SSMS).
Создание нового списка стоп-слов с помощью Transact-SQL
Используйте CREATE FULLTEXT STOPLIST.
Создайте новый стоп-лист с помощью SQL Server Management Studio
В обозревателе объектов разверните сервер.
Разверните Базы данных, а затем разверните базу данных, в которой вы хотите создать полнотекстовый стоп-лист.
Разверните Хранилище, а затем щелкните правой кнопкой мыши Полнотекстовые списки стоп-слов.
Выберите Новый полнотекстовый стоп-лист.
Введите имя нового списка стоп-слов.
Можно указать другого человека в качестве владельца списка стоп-слов.
Выберите один из следующих вариантов для создания стоп-листа.
Создать пустой стоп-лист
Создать из системного списка стоп-слов
Создать из имеющегося полнотекстового стоплиста
Дополнительные сведения см. в разделе "Новый полнотекстовый список стоп-слов" (страница "Общие") .
Нажмите ОК.
Использование списка стоп-слов в полнотекстовых запросах
Чтобы использовать список стоп-слов в запросах, нужно связать его с полнотекстовым индексом. Можно добавить список стоп-слов к полнотекстовому индексу при создании индекса или изменить индекс позже, добавив список стоп-слов.
| задачи | Метод |
|---|---|
| Создайте полнотекстовый индекс и свяжите его с стоп-листом | Используйте CREATE FULLTEXT INDEX. |
| Связывание или разъединение списка стоп-слов с имеющимся полнотекстовым индексом | Используйте ALTER FULLTEXT INDEX. |
Изменение стоп-слов в стоп-листе
Вы можете изменить стоп-слова в стоп-листе, используя Transact-SQL (T-SQL) или SQL Server Management Studio (SSMS).
Добавление или удаление стоп-слов из списка стоп-слов с помощью Transact-SQL
Используйте ALTER FULLTEXT STOPLIST.
Добавляйте или убирайте стопворды из стоп-листа с помощью SQL Server Management Studio
В обозревателе объектов разверните сервер.
Разверните Базы данных, затем разверните базу данных.
Разверните узел Хранилище и выберите Полнотекстовые списки стоп-слов.
Щелкните правой кнопкой мыши по стоплисту, свойства которого необходимо изменить, и выберите пункт Свойства.
В диалоговом окне Свойства полнотекстового списка стоп-слов выполните указанные ниже действия.
В списке Действия выберите одно из следующих действий: Добавить стоп-слово, Удалить стоп-слово, Удалить все стоп-словаили Очистить список стоп-слов.
Если для выбранного действия доступно текстовое поле Стоп-слово , введите одно стоп-слово. Этот стопворд должен быть уникальным. Он не может уже быть в этом стоп-листе для выбранного вами языка.
Если для выбранного действия доступен список Язык полнотекстового поиска , выберите язык.
Нажмите ОК.
Управление стоп-листами и их использование
Используйте следующие методы для просмотра и управления стоп-листами.
| задачи | Метод |
|---|---|
| Просмотр всех стоп-слов в стоплисте | Используйте sys.fulltext_stopwords. |
| Получите информацию обо всех стоп-листах в текущей базе данных | Используйте sys.fulltext_stoplists и sys.fulltext_stopwords. |
| Посмотреть результат токенизации в результате применения средства разбиения по словам, тезауруса и списка стоп-слов. | Используйте sys.dm_fts_parser. |
| Подавить сообщение об ошибке, если из-за стоп-слов логическая операция на полнотекстовом запросе терпит неудачу. | Используйте конфигурацию сервера: преобразуйте шумовые слова. |
Больше информации о позиции стопворда
Хотя полнотекстовый индекс игнорирует включение стопвордов, он учитывает их положение. Например, рассмотрим фразу . Instructions are applicable to these Adventure Works Cycles models Позиции слов в этой фразе приведены в следующей таблице.
| Слово | Позиция |
|---|---|
Instructions |
1 |
are |
2 |
applicable |
3 |
to |
4 |
these |
5 |
Adventure |
6 |
Works |
7 |
Cycles |
8 |
models |
9 |
Стоп-слова are, to и these, которые находятся на позициях 2, 4 и 5, исключаются из полнотекстового индекса. Однако данные об их позициях сохраняются, благодаря чему позиции других слов в фразе остаются неизменными.
Обновление шумовых слов в SQL Server 2005
Шумовые слова в SQL Server 2005 (9.x) заменены стоп-вордами. При обновлении базы данных с версии SQL Server 2005 (9.x) файлы шумовых слов больше не используются. Однако файлы noise-word хранятся в папке FTDATA\FTNoiseThesaurusBak , и вы сможете использовать их позже, когда обновляете или создаёте соответствующие стоп-листы. Сведения об обновлении файлов пропускаемых слов с переходом к спискам стоп-слов см. в разделе Обновление полнотекстового поиска.