Нужен ли в УТ 11.4 механизм полнотекстового поиска (его включение и его рег. задания) для поиска в динамических списках (журнал и побор номенклатуры). В настройках УТ 11.4 выбран вариант поиска "Стандартный".
Он нужен при быстром выборе, чтобы не проваливаться в формы(формы выбора, например при добавлении номенклатуры). Если в самих формах, то нет. Не нужен.
Если он выключен, то при быстром выборе будет искать по началу текста.
Для поиска в динамических списках - нет, не нужен. Выключив его вы не потеряете возможность искать значение указанное в колонке.
А если говорить про highload - то я бы очень рекомендовал отключить его. Если у вас 1-2 базы - то еще ничего. Но если десяток - то 10 фоновых для обновления индекса - дает очень нехилую нагрузку на железо.
(4) Хай лоад?) Т.е. то что СУБД "плачет" при таком поиске это норма? :)
Не смешите мои подковы (с) Конь Юлий
Зашёл в УТ11, Продажи - Заказы клиентов - поиск по строке "парам" - 96 секунд, чтений 3кк+. Документов много). Проверьте сами, только в журнале! :)
План запроса даже выкладывать нет смысла, все итак понятно.
(5) Готов поспорить.
Вы смотрите на sql, а я говорил про сервер 1с. Вернее про то, что задание обновления индекса очень сильно нагружает сервер где стоит служба 1С (в первую очередь, процессор). В случае большого числа баз - вплоть до того что система начинает тормозить.
На мой взгляд ваш "страшный" запрос mssql проглатывает относительно спокойно. И если в конкретной системе поиск выполняется не часто - нагрузка будет разовой. А вот обновление индекса мучает процессор сервера 1с все время.
Можно вспомнить частые ни от чего не зависящие зависания этого фонового, вплоть до того что система перестает отвечать. Можно вспомнить что полнотекстовый поиск выдает данные лишь тогда, когда индексирование отработало - не раньше. А значит если пользователь А ввел новый документ - пользователь Б сможет его увидеть в полнотекстовом поиске только тогда, когда отработает индексирование.
Вообще, реализованный сейчас поиск в дин.списке (по всем колонкам) - это чушь. Получается что вместо того, чтобы подумать "я ищу по контрагенту, надо установить курсор на колонку Контрагент и нажать alt+f" мы даем пользователю возможность тупо вбивать текст в строку поиска, чтоб нагрузить систему поиском по всем колонкам (или искать по индексу - который может быть не актуален). "Сервер же железный, выдержит". Никакого принципа бережливости и выборочного поиска данных.
Полнотекстовый поиск нужен тогда, когда хотим найти все упоминания чего-то в нескольких местах (объектах).
Наконец, конфигурации на обычных формах жили без такого поиска - и ничего.
Вы смотрите на sql, а я говорил про сервер 1с. Вернее про то, что задание обновления индекса очень сильно нагружает сервер где стоит служба 1С (в первую очередь, процессор).
Можно вспомнить что полнотекстовый поиск выдает данные лишь тогда, когда индексирование отработало - не раньше. А значит если пользователь А ввел новый документ - пользователь Б сможет его увидеть в полнотекстовом поиске только тогда, когда отработает индексирование.
Вообще, реализованный сейчас поиск в дин.списке (по всем колонкам) - это чушь. Получается что вместо того, чтобы подумать "я ищу по контрагенту, надо установить курсор на колонку Контрагент и нажать alt+f" мы даем пользователю возможность тупо вбивать текст в строку поиска, чтоб нагрузить систему поиском по всем колонкам (или искать по индексу - который может быть не актуален). "Сервер же железный, выдержит". Никакого принципа бережливости и выборочного поиска данных.
(8) Насчет поиска по первым символам, речь, видимо, о том, что строка поиска "бак расширительный" вернет результаты, в т.ч. содержащие "расширительный бак", строка "ак расш" не вернет ничего, а "бак расш" вернет только "Консоль для гр. безопасности и расш. баков" (в форме подбора товаров в чек в режиме Расширенный поиск).
Использование полнотекстового индекса в поиске динамического списка имеет следующие нюансы:
- Полнотекстовый поиск должен быть включен для всех объектов, которые участвуют в запросе списка и могут использоваться в качестве основной таблицы. При этом все поля, выводимые в список, должны также быть с включенным полнотекстовым поиском.
- Полнотекстовый индекс должен обслуживаться должным образом (не забыть настроить регл. задания).
- Поиск выполняется по колонкам, которые отображаются в таблице.
- Поиск по ссылочным полям выполняется по полям представления, которые также должны быть добавлены в полнотекстовый индекс.
- Сначала выполняется поиск по основной таблице. К результатам полнотекстового поиска добавляются все непроиндексированные ссылки из основной таблицы. Результат полнотекстового поиска используется для отборов по ключевым полям.
- При возникновении ошибок полнотекстового поиска режим поиска переключается на стандартных механизм, то есть с помощью средств баз данных.
- Если есть отборы "Равно", то они в любом случае добавляются в финальный запрос с учетом отбора по результатам полнотекстового поиска.
- Строка поиска разбивается на слова (максимум 20) и не должна превышать 1000 символов. Пробел и табуляция - разделители слов. Для каждого фрагмента создается свой набор условий по ИЛИ. Все фрагменты соединяются в И.
Поиск будет работать и без полнотекстового только делая запрос непосредственно к таблице по like, что не совсем оптимально, обслуживать ли полнотекстовый его регламентными или смириться с like существует много мнений.