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

Откуда: Химки
Сообщений: 151
Если надо проверить наличие слова во всей базе, то приходится делать запрос к каждой таблице, а можно ли это сделать одним запросом, каталог то один и периодически обновляется.
11 апр 15, 21:32    [17503436]     Ответить | Цитировать Сообщить модератору
 Re: Полнотекстный поиск по всей базе.  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Feos
Если надо проверить наличие слова во всей базе, то приходится делать запрос к каждой таблице, а можно ли это сделать одним запросом, каталог то один и периодически обновляется.


какой каталог один?

Если вы проиндексируете все ваши таблицы и доавите их в полнотекстовый каталог, тогда все равно придется делать запросы ко всем таблица, поскольку запросы к каталогу не делаются, а так нет.
Но в первом случае можете сформировать динамический запрос. Что собственно вы можете делать и без FTS.
12 апр 15, 12:35    [17504728]     Ответить | Цитировать Сообщить модератору
 Re: Полнотекстный поиск по всей базе.  [new]
Feos
Member

Откуда: Химки
Сообщений: 151
С динамикой все работает, но вопроса не стоит в какой таблице и в каком количестве, если каталог является словарем, мне надо проверить есть ли это слово в словаре.
12 апр 15, 12:50    [17504749]     Ответить | Цитировать Сообщить модератору
 Re: Полнотекстный поиск по всей базе.  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Feos
С динамикой все работает, но вопроса не стоит в какой таблице и в каком количестве, если каталог является словарем, мне надо проверить есть ли это слово в словаре.


Может такое чем-то поможет, но не думаю, что один запрос возможен:

SELECT * FROM sys.dm_fts_index_keywords_by_document (DB_ID('база'),OBJECT_ID('таблица'))
SELECT * FROM sys.dm_fts_index_keywords (DB_ID('база'),OBJECT_ID('таблица'))
12 апр 15, 13:52    [17504847]     Ответить | Цитировать Сообщить модератору
 Re: Полнотекстный поиск по всей базе.  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Feos
Если надо проверить наличие слова во всей базе, то приходится делать запрос к каждой таблице, а можно ли это сделать одним запросом, каталог то один и периодически обновляется.


А в INT, DATETIME и VIBINARY полях вы тоже ищите? И что это у вас за структура такая, что искать надо по "всей базе". Может над архитектурой надо сначала подумать?
13 апр 15, 12:20    [17507527]     Ответить | Цитировать Сообщить модератору
 Re: Полнотекстный поиск по всей базе.  [new]
Feos
Member

Откуда: Химки
Сообщений: 151
Структуру к большому моему сожалению править пока нельзя, идет поиск по трем сотням БД, полнотекстный поиск покрывает только текстовые поля в десятке таблиц каждой базы.
14 апр 15, 22:41    [17515488]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить