Принудительная индексация файлового потока в SQL Server 2012

Можно ли каким-то образом заставить службу индексирования MS SQL Server 2012 индексировать определенный файловый поток/запись файловой таблицы?

Если нет, есть ли способ узнать, был ли проиндексирован файловый поток/запись?

Большое тебе спасибо!

Редактировать: я нашел кое-что. Я не могу проиндексировать ни один файл, но я могу понять, какие файлы были проиндексированы.

используя этот запрос: EXEC sp_fulltext_keymappings @table_id; вы будете знать каждую проиндексированную запись , лучше чем ничего...


person Fabio    schedule 06.11.2012    source источник
comment
Вы должны опубликовать свое редактирование в качестве потенциального ответа, поскольку оно решает вашу проблему.   -  person SliverNinja - MSFT    schedule 12.11.2012


Ответы (1)


Похоже, что вы хотите полный текст проиндексировать подмножество файлов в одной файловой таблице. (Если это не так, уточните свой вопрос, и я отредактирую ответ). Есть два способа подойти к этому.

Один из подходов состоит в том, чтобы использовать два разных FileTable (MyTable_A и MyTable_B), поместить файлы, которые вы хотите проиндексировать, в MyTable_A, а неиндексированные - в MyTable_B. Затем примените полнотекстовый индекс к A, но не к B. Если вам нужно, чтобы файлы отображались унифицированным образом в SQL, просто заблокируйте доступ через представление, которое UNIONs две таблицы файлов. Потенциальная ловушка заключается в том, что для этого требуются две отдельные структуры каталогов. Если вам нужна унифицированная структура файловой системы, этот подход не сработает.

Другой подход заключается в создании INDEXED VIEW файлов, которые вы хотите проиндексировать в полнотекстовом формате. Затем примените к представлению полнотекстовый индекс. Отказ от ответственности: я не пробовал этот подход, но очевидно это работает .

person EBarr    schedule 09.12.2012