Непрерывная индексация полнотекстового поиска - возможно ли это?

1. Дмитрий Захаров (DWZ2) 29.12.16 06:31 Сейчас в теме
Можно ли сделать так, чтобы индекс полнотекстового поиска автоматически обновлялся бы при каждом вводе/изменении данных, как это делают "обычные" индексы 1С?
Найденные решения
8. Сан Саныч (herfis) 116 29.12.16 12:19 Сейчас в теме
Насколько мне известно, в 1С реализован собственный движок полнотекстового поиска. Подробности его внутренней реализации и на базе чего он сделан - неизвестно. Известно только, что никакой связи с движками ПП в СУБД и веб-серверах он не имеет. Как и возможностей обновления он-лайн.
Насколько я понимаю, это не недоработка. Это как раз своего рода оптимизация. Т.е. пакетное обновление при массовых изменениях будет работать значительно быстрее, чем по каждому чиху.
Остальные ответы
2. Никифоренко Леонид (mad375) 29.12.16 06:53 Сейчас в теме
(1)Обработчиком событий, но я думаю это будет чрезвычайно тормозно.
Интересно зачем?
У меня обновление индекса запущено регламентным на раз в 10 минут
3. Дмитрий Захаров (DWZ2) 29.12.16 08:41 Сейчас в теме
Спасибо за быстрый ответ!

(2)
Обработчиком событий, но я думаю это будет чрезвычайно тормозно.


А штатной возможности индексатора нет? Чую, тут торчат уши IIS, думаю, что нужно копать здесь, но не знаю :( в каком СЕЙЧАС это состоянии. Мне помнится, что, когда это только появилось, тексты в таблицах MS SQL индексировались сразу, но настаивать не буду. Также возможно, что потом эту фишку убрали.

Интересно зачем?


По соображениям перфекционизма. Я считаю, что раз используется слово "индекс", то он должен обновляться синхронно со своими данными. А иначе получается как в одном поделии - таблица переиндексируется КАЖДЫЙ раз при изменении данных. Зрелище ещё то.

К тому же начальство недовольно, что только что введённые данные не отображаются в поиске.

У меня обновление индекса запущено регламентным на раз в 10 минут


Да у всех оно запущено, но это костыль, а я хочу "как в лучших домах". ;)))
4. Иван Иванов (spe1c) 29.12.16 09:32 Сейчас в теме
Регламентом каждую минуту запускать обновление - так проще всего и новые данные появляться в поиске будут уже через минуту.
5. Никифоренко Леонид (mad375) 29.12.16 09:33 Сейчас в теме
(3)Индексировать средствами SQL? Но я не очень в курсе об этом.
6. Дмитрий Захаров (DWZ2) 29.12.16 11:19 Сейчас в теме
(5)

Не, не средствами SQL, хотя вроде бы там тоже что-то было, а средствами связки IIS+MS SQL. Во всяком случае раньше, во времена MS SQL 6.5...2000 в состав современному ему IIS входил индексатор, который позволял индексировать не только разные форматы файлов, но и поля SQL-таблиц тоже. Там были plug in'ы (которые, назывались, правда, по-другому) для разных форматов файлов, был и для SQL. Возможно, это plug in шёл не с IIS, а с самим MS SQL. Но главное, что MS SQL имел доступ к данным индексатора. Сам разбирал пример, где индексатор интегрировался с MS SQL в обе стороны.

Во что это превратилось сейчас - я не в курсе.

Возможно, что 1С использует свой индексатор, но подозреваю, что это всё равно что-то Микрософтовское. Другое дело, что по соображениям лицензирования функционал индексатора может быть урезан и вследствие этого синхронная индексация может быть невозможна в принципе.
7. Дмитрий Захаров (DWZ2) 29.12.16 11:24 Сейчас в теме
(4)

Не хочу каждую минут - хочу синхронно. Итак, кто-нибудь знает:

1. При помощи чего 1С индексирует для полнотекстового поиска?

2. Имеет ли данная вещь возможность синхронной индексации?

3. Можно ли её как-то включить средствами 1С?

8. Сан Саныч (herfis) 116 29.12.16 12:19 Сейчас в теме
Насколько мне известно, в 1С реализован собственный движок полнотекстового поиска. Подробности его внутренней реализации и на базе чего он сделан - неизвестно. Известно только, что никакой связи с движками ПП в СУБД и веб-серверах он не имеет. Как и возможностей обновления он-лайн.
Насколько я понимаю, это не недоработка. Это как раз своего рода оптимизация. Т.е. пакетное обновление при массовых изменениях будет работать значительно быстрее, чем по каждому чиху.
9. Сан Саныч (herfis) 116 29.12.16 12:25 Сейчас в теме
Физически индекс полнотекстового поиска 1С хранится в папке сервера приложений, разбитый по файликам (не является частью БД).
10. Дмитрий Захаров (DWZ2) 29.12.16 13:37 Сейчас в теме
(8)


Насколько я понимаю, это не недоработка. Это как раз своего рода оптимизация.


Не следует лишать пользователя возможности выстрелить себе в ногу, если он этого захочет. Случаи, они ведь РАЗНЫЕ бывают.
11. Сан Саныч (herfis) 116 29.12.16 14:22 Сейчас в теме
(10) А тебя и не лишили. Можно сделать, например, так:
1) в подписках на запись объектов добавлять в спец-табличку (справочник/регистр) запись с временем изменения (добавлять - чтобы минимизировать блокировки) и выполнять запуск фонового задания обновления индекса (с исключением параллельного выполнения нескольких заданий)
2) в фоновом задании фиксировать время начала выполнения и после обновления индекса удалять все записи из спец-регистра с временем, меньшим либо равным времени старта обновления. После этого проверять, остались ли записи в регистре. Если остались (успели новые изменения накопиться) - все опять по-новой.
Т.е. в худшем случае индекс будет обновляться непрерывно. Но как только изменения данных прекратятся, прекратятся и обновления индекса - до следующего изменения данных.
12. Дмитрий Захаров (DWZ2) 01.01.17 16:53 Сейчас в теме
(11)

Я бы предпочёл штатный функционал. Ну, раз нет так нет. Может, в 8.4 появится.
Оставьте свое сообщение