1. DWZ2 29.12.16 06:31 Сейчас в теме

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

Можно ли сделать так, чтобы индекс полнотекстового поиска автоматически обновлялся бы при каждом вводе/изменении данных, как это делают "обычные" индексы 1С?
Найденные решения
8. herfis 264 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 минут


Да у всех оно запущено, но это костыль, а я хочу "как в лучших домах". ;)))
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С использует свой индексатор, но подозреваю, что это всё равно что-то Микрософтовское. Другое дело, что по соображениям лицензирования функционал индексатора может быть урезан и вследствие этого синхронная индексация может быть невозможна в принципе.
4. spe1c 29.12.16 09:32 Сейчас в теме
Регламентом каждую минуту запускать обновление - так проще всего и новые данные появляться в поиске будут уже через минуту.
7. DWZ2 29.12.16 11:24 Сейчас в теме
(4)

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

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

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

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

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


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


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

Я бы предпочёл штатный функционал. Ну, раз нет так нет. Может, в 8.4 появится.
9. herfis 264 29.12.16 12:25 Сейчас в теме
Физически индекс полнотекстового поиска 1С хранится в папке сервера приложений, разбитый по файликам (не является частью БД).
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 130 000 руб. до 150 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 100 000 руб.
Полный день

Руководитель группы сервисов FRM на 1С
Москва
зарплата от 150 000 руб.
Полный день

Руководитель группы сервисов ЭДО, ЭЦП и криптографии
Москва
зарплата от 150 000 руб.
Полный день

Руководитель группы интеграций (1С)
Москва
зарплата от 150 000 руб.
Полный день