2016-11-24 12 views
1

У меня есть список продуктов на SQL Server с большим количеством строк (100K +). Мы выполняем регулярный полнотекстовый поиск в таблице, чтобы найти продукты, содержащие ключевое слово. При добавлении нового продукта очень медленно снижаться и воссоздавать полный текстовый каталог, чтобы включить новую часть.Добавление в полный текстовый каталог без полной перестройки

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

Это должно поддерживаться в SQL Server 2012 до текущего.

+1

Полный индекс текст должен держать себя последнюю дату, когда вы добавляете новые строки. –

+0

Есть ли опция или настройка, которая должна быть включена для этого? –

+1

Это опция change_tracking, установленная для индекса FT в каталоге –

ответ

3

При создании полного текстового индекса в каталоге вы можете указать параметр change_tracking как автоматический (по умолчанию), ручной или выключенный. Авто автоматически будет распространять изменения; в руководстве вам нужно запустить инструкцию alter index для обновления индекса, а off не отслеживает изменения.

NB: updatetext & writetext операции не подхвачены путем отслеживания изменений.

Вы можете проверить опцию change_tracking для индекса в графическом интерфейсе SSMS или в представлении sys.fulltext_indexes.

Вы можете изменить настройку индекса в SSMS или с помощью инструкции alter fulltext index... set change_tracking [option].

https://msdn.microsoft.com/en-us/library/ms188359.aspx

+1

Оператор alter: 'ALTER FULLTEXT INDEX ... SET CHANGE_TRACKING' не просто' ALTER INDEX ... ' –

+0

Хорошее разъяснение ... обновлено –