Непрерывная индексация полнотекстового поиска - возможно ли это?
Найденные решения
Насколько мне известно, в 1С реализован собственный движок полнотекстового поиска. Подробности его внутренней реализации и на базе чего он сделан - неизвестно. Известно только, что никакой связи с движками ПП в СУБД и веб-серверах он не имеет. Как и возможностей обновления он-лайн.
Насколько я понимаю, это не недоработка. Это как раз своего рода оптимизация. Т.е. пакетное обновление при массовых изменениях будет работать значительно быстрее, чем по каждому чиху.
Насколько я понимаю, это не недоработка. Это как раз своего рода оптимизация. Т.е. пакетное обновление при массовых изменениях будет работать значительно быстрее, чем по каждому чиху.
Остальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Спасибо за быстрый ответ!
(2)
А штатной возможности индексатора нет? Чую, тут торчат уши IIS, думаю, что нужно копать здесь, но не знаю :( в каком СЕЙЧАС это состоянии. Мне помнится, что, когда это только появилось, тексты в таблицах MS SQL индексировались сразу, но настаивать не буду. Также возможно, что потом эту фишку убрали.
По соображениям перфекционизма. Я считаю, что раз используется слово "индекс", то он должен обновляться синхронно со своими данными. А иначе получается как в одном поделии - таблица переиндексируется КАЖДЫЙ раз при изменении данных. Зрелище ещё то.
К тому же начальство недовольно, что только что введённые данные не отображаются в поиске.
Да у всех оно запущено, но это костыль, а я хочу "как в лучших домах". ;)))
(2)
Обработчиком событий, но я думаю это будет чрезвычайно тормозно.
А штатной возможности индексатора нет? Чую, тут торчат уши IIS, думаю, что нужно копать здесь, но не знаю :( в каком СЕЙЧАС это состоянии. Мне помнится, что, когда это только появилось, тексты в таблицах MS SQL индексировались сразу, но настаивать не буду. Также возможно, что потом эту фишку убрали.
Интересно зачем?
По соображениям перфекционизма. Я считаю, что раз используется слово "индекс", то он должен обновляться синхронно со своими данными. А иначе получается как в одном поделии - таблица переиндексируется КАЖДЫЙ раз при изменении данных. Зрелище ещё то.
К тому же начальство недовольно, что только что введённые данные не отображаются в поиске.
У меня обновление индекса запущено регламентным на раз в 10 минут
Да у всех оно запущено, но это костыль, а я хочу "как в лучших домах". ;)))
(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С использует свой индексатор, но подозреваю, что это всё равно что-то Микрософтовское. Другое дело, что по соображениям лицензирования функционал индексатора может быть урезан и вследствие этого синхронная индексация может быть невозможна в принципе.
Не, не средствами SQL, хотя вроде бы там тоже что-то было, а средствами связки IIS+MS SQL. Во всяком случае раньше, во времена MS SQL 6.5...2000 в состав современному ему IIS входил индексатор, который позволял индексировать не только разные форматы файлов, но и поля SQL-таблиц тоже. Там были plug in'ы (которые, назывались, правда, по-другому) для разных форматов файлов, был и для SQL. Возможно, это plug in шёл не с IIS, а с самим MS SQL. Но главное, что MS SQL имел доступ к данным индексатора. Сам разбирал пример, где индексатор интегрировался с MS SQL в обе стороны.
Во что это превратилось сейчас - я не в курсе.
Возможно, что 1С использует свой индексатор, но подозреваю, что это всё равно что-то Микрософтовское. Другое дело, что по соображениям лицензирования функционал индексатора может быть урезан и вследствие этого синхронная индексация может быть невозможна в принципе.
Насколько мне известно, в 1С реализован собственный движок полнотекстового поиска. Подробности его внутренней реализации и на базе чего он сделан - неизвестно. Известно только, что никакой связи с движками ПП в СУБД и веб-серверах он не имеет. Как и возможностей обновления он-лайн.
Насколько я понимаю, это не недоработка. Это как раз своего рода оптимизация. Т.е. пакетное обновление при массовых изменениях будет работать значительно быстрее, чем по каждому чиху.
Насколько я понимаю, это не недоработка. Это как раз своего рода оптимизация. Т.е. пакетное обновление при массовых изменениях будет работать значительно быстрее, чем по каждому чиху.
(10) А тебя и не лишили. Можно сделать, например, так:
1) в подписках на запись объектов добавлять в спец-табличку (справочник/регистр) запись с временем изменения (добавлять - чтобы минимизировать блокировки) и выполнять запуск фонового задания обновления индекса (с исключением параллельного выполнения нескольких заданий)
2) в фоновом задании фиксировать время начала выполнения и после обновления индекса удалять все записи из спец-регистра с временем, меньшим либо равным времени старта обновления. После этого проверять, остались ли записи в регистре. Если остались (успели новые изменения накопиться) - все опять по-новой.
Т.е. в худшем случае индекс будет обновляться непрерывно. Но как только изменения данных прекратятся, прекратятся и обновления индекса - до следующего изменения данных.
1) в подписках на запись объектов добавлять в спец-табличку (справочник/регистр) запись с временем изменения (добавлять - чтобы минимизировать блокировки) и выполнять запуск фонового задания обновления индекса (с исключением параллельного выполнения нескольких заданий)
2) в фоновом задании фиксировать время начала выполнения и после обновления индекса удалять все записи из спец-регистра с временем, меньшим либо равным времени старта обновления. После этого проверять, остались ли записи в регистре. Если остались (успели новые изменения накопиться) - все опять по-новой.
Т.е. в худшем случае индекс будет обновляться непрерывно. Но как только изменения данных прекратятся, прекратятся и обновления индекса - до следующего изменения данных.
Вакансии
1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день