Що таке повнотекстовий пошук, більшість фахівців знає і так, тому окремо описувати це не будемо, у MS SQL можливостей в порівнянні з пошуком 1С не менше. Є досить цікава можливість - пошук з використанням синонімів або виключення певних слів з пошукових виразів (стоп-листи). Файл повнотекстового пошуку 1С зберігається на сервері додатків, повнотекстовий пошук - є частина бази даних. Повнотекстовий пошук SQL, з особистого досвіду, швидше працює в разі, коли вам потрібно знайти велику кількість слів, які входять в шуканий рядок. Наприклад, по рядку необмеженої довжини, коли довжина рядка може досягати 3-4х тис символів і кількість рядків від 300 тис, повнотекстовий пошук SQL працює значно швидше пошуку 1С, якщо ми шукаємо рядок з мінімум 5 слів.
Повнотекстовий пошук SQL схожий на оператор LIKE, однак за твердженням MS, LIKE працює повільніше по великій кількості неструктурованих даних, та й має істотно менше можливостей для пошуку, так само повнотекстовий пошук може індексувати не тільки рядкові поля.
Основна ідея роботи - винесення даних, які підлягають повнотекстовому індексування в зовнішнє БД, по цій БД створюється індекс з автоматичним оновленням. У зовнішній базі містяться внутрішні ідентифікатори об'єктів бази, тип і вид об'єкта метаданих, ім'я реквізиту та номер рядка для документів, що дозволяє однозначно ідентифікувати об'єкт і властивість, якому належить збережена рядок. У базі 1С є план обміну, який реєструє зміни в об'єктах і регламентне завдання, яке поміщає значення потрібних властивостей. Які об'єкти і які їх реквізити потрібно індексувати - зберігається в довіднику НастройкіПолнотекстовогоПоіска. Так само в базі є обробка, яка формує пошуковий запит на мові TSQL і відправляє його на сервер БД, потім вона отримує результат і, на основі збережених у зовнішній таблиці даних, асоціює рядки результату з об'єктами в базі 1С, що в даному прикладі використовується для пошуку цін в документах Реалізація та регістрі відомостей з цінами для довідника Номенклатура.
Все, вдалих експериментів!
Вимоги до ПО: