Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Компонент Full-Text Search (SQL Server)  [new]
DKasimov
Member

Откуда: Москва
Сообщений: 63
Коллеги, привет.
Подскажите пожалуйста.
Запрос CONTAINS (d.Text, '"Большая Ордынка"') находит больше, чем d.Text like '%Большая%Ордынка%'
Как такое может быть?
CONTAINS (d.Text, '"Большая Ордынка"') находит даже документ с текстом Б. Ордынка

Спасибо
/*DK*/
9 апр 14, 16:17    [15856977]     Ответить | Цитировать Сообщить модератору
 Re: Компонент Full-Text Search (SQL Server)  [new]
DKasimov
Member

Откуда: Москва
Сообщений: 63
Сам написал и сам отвечаю:
"
Ситуация такова, что полнотекстовый поиск происходит нормально по полнотекстовому индексу.


Но, нужно понимать, что поиск например «Большая Ордынка», будет искать только Ордынка, т.к. «большая» находится в системном стоп-листе.
Выходы:
1. Создать свой стоп-лист, например на основе системного и в него можно будет добавлять слова и удалять ненужные
2. Создать пустой стоп-лист(очень плохой вариант), т.к. индекс разрастется на словах-помойках и селективность запросов будет ужасная
3. Править системный стоп-лист(тоже не оч. хороший вариант), т.к. это системный объект и его не найти в интерфейсе, если захочется через GUI поправить, да и восстанавливать его при ошибках, будет чуть проблематичное


Проверить какие слова есть в стоп-листе можно (SELECT * FROm sys.fulltext_stopwords)

"
11 апр 14, 11:56    [15867112]     Ответить | Цитировать Сообщить модератору
 Re: Компонент Full-Text Search (SQL Server)  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Есть еще такие варианты

1. ALTER FULLTEXT INDEX ON MyTable SET STOPLIST = OFF

2. sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'transform noise words', 1;
RECONFIGURE;
GO
11 апр 14, 13:15    [15867734]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить