Полнотекстовый поиск 1с что это
Перейти к содержимому

Полнотекстовый поиск 1с что это

  • автор:

Полнотекстовый поиск

Механизм полнотекстового поиска позволяет быстро находить нужную информацию в данных информационной базы и в справочной системе.

Основные возможности полнотекстового поиска

  • Он функционирует в клиент-серверном варианте работы и в автономном сервере;
  • Вместо морфологических словарей он использует экспертные алгоритмы выделения корневой основы (stemming);
  • Все токены, включая составные слова, индексируются как целиком, так и по частям независимо от режима разделения составных слов;
  • Весь текст индексируется как есть, без приведения к нормальной форме. Это позволяет искать слова как в морфологическом режиме (префиксный поиск), так и в строгой падежной форме;
  • При индексации выкидываются (удаляются) шумовые-слова. Это некоторые предлоги, причастия, междометия, которые не несут самостоятельной смысловой нагрузки.

Полнотекстовый поиск в базе данных

Механизм полнотекстового поиска в данных системы 1С:Предприятие 8 позволяет осуществлять поиск в базе данных с указанием поисковых операторов (И, ИЛИ, НЕ, РЯДОМ и др.).

Механизм полнотекстового поиска основан на использовании двух составляющих:

  • полнотекстового индекса, который создается для текущей базы данных и затем периодически, по мере необходимости, обновляется,
  • средств выполнения полнотекстового поиска.

Создание и обновление полнотекстового индекса может быть выполнено интерактивно, в режиме 1С:Предприятие 8, или программно, средствами встроенного языка. Ниже приведен диалог управления полнотекстовым индексированием в режиме 1С:Предприятие:

Полнотекстовый поиск

Для выполнения поиска данных в базе данных может использоваться, например, поле глобального поиска.

Полнотекстовый поиск

Система 1С:Предприятие 8 позволяет осуществлять выборочное включение данных прикладных объектов и их реквизитов в полнотекстовый поиск. Также существует возможность ограничить область поиска данными только указанных объектов конфигурации.

Полнотекстовый поиск в справочной системе

В справочной системе 1С:Предприятия 8 также реализован полнотекстовый поиск, позволяющий использовать поисковые операторы И, ИЛИ, НЕ, РЯДОМ и др. При этом найденные слова выделяются.

Отключение и включение полнотекстового поиска в 1С

Механизм полнотекстового поиска 1С позволяет найти текстовую информацию, размещенную почти в любом месте конфигурации. По умолчанию возможность полнотекстового поиска включена, но далеко не всегда используется.

Причина, по которой возникает необходимость отключения полнотекстового поиска в 1С — увеличение производительности системы. Помимо этого, скорость поиска зависит от объемов базы, а значит на больших базах он может занимать значительное время.

Отключение полнотекстового поиска не влияет на другие функции и стабильность работы 1С, но есть одна особенность — оно должно осуществляется в монопольном режиме, то есть в данный момент никто не должен работать в программе, кроме вас.

Последовательность шагов для отключения

1. По умолчанию, пункт меню «Все функции», через который можно управлять полнотекстовым поиском, скрыто. Поэтому сначала последовательно открываем пункты «Файл» > «Сервис» > «Параметры».

Отключение полнотекстового поиска в 1С

2. Затем в открывшемся окне нужно поставить отметку «Отображать команду «Все функции».

Отключение полнотекстового поиска в 1С

3. После этого заходим в пункт меню «Все функции». Это может не получиться, если у Пользователя, под именем которого вы вошли в программу, не установлено разрешение на это.

Отключение полнотекстового поиска в 1С

4. Выбираем пункт «Управление полнотекстовым поиском».

Отключение полнотекстового поиска в 1С

5. И отключаем полнотекстовый поиск.

Отключение полнотекстового поиска в 1С

Для включения полнотекстового поиска проводим аналогичные действия.

Что нового для вашей 1С?

Оперативная информация о выходе и содержании свежих версий для 19 типов конфигураций.

Рассылка осуществляется в день выхода обновления. Никакой рекламы, только полезная информация. Посмотрите пример →

Полнотекстовый поиск в 1С

Механизм полнотекстового поиска в 1С позволяет быстро находить необходимую для пользователя информацию. Данный вид поиска особенно эффективен, если информационная база располагает большим объемом информации, а также точно не известно, где находятся интересующие пользователя данные или как часто бывает, их точное название не известно. Для того чтобы открыть окно управления полнотекстовым поиском необходимо выполнить следующее: пункт меню Операции Управление полнотекстовым поиском.

Полнотекстовый поиск в 1С

В данном окошке можно наблюдать три кнопки: Настройка Включение/Отключение полнотекстового поиска;

Полнотекстовый поиск в 1С

Обновить индекс Создание индекса/Обновление индекса; Очистить индекс – обнуление индекса(рекомендуется после обновления всех данных); пункт Разрешить слияние индексов отвечает за слияние основного и дополнительного индекса.

Полнотекстовый поиск осуществляется при помощи полнотекстового индекса. При отсутствии индекса полнотекстовый поиск как таковой не возможен. Для того чтобы поиск имел результат, все необходимые данные должны быть включены в полнотекстовый индекс. Если пользователем введены в базу новые данные, их следует включить в рассматриваемый индекс, иначе они не будут участвовать в поиске. Чтобы этого избежать, необходимо обновлять полнотекстовый индекс. При обновлении система анализирует только определенные типы данных: Строка, Данные ссылочного типа (ссылки на документы, справочники),Число, Дата, ХранилищеЗначения. Если пользователь не имеет прав доступа к определенной информации, то он не сможет увидеть ее в результатах поиска. Следует также помнить и о том, что в свойствах объектов, по которым будет происходить поиск должно быть установлено значение Полнотекстовый Поиск – Использовать, которое задано по умолчанию.

Полнотекстовый поиск в 1С

Как вы можете заметить свойство Использовать установлено для всего справочника РегНомера, но сделать это можно и для каждого его реквизита соответствующего типа.

Рассмотрим более подробно полнотекстовый индекс, который состоит из двух частей (индексов): основного индекса и дополнительного. Высокая скорость поиска данных обеспечивается за счет основного индекса, но обновление его происходит относительно медленно, в зависимости от объема данных. Дополнительный индекс ему противоположен. Данные добавляются в него намного быстрее, но поиск осуществляется медленнее. Система осуществляет поиск одновременно в обоих индексах. Большая часть данных находится в основном индексе, а данные добавляемые в систему попадают в дополнительный индекс. Пока объем данных в дополнительном индексе небольшой, поиск по нему происходит относительно быстро. В тот момент, когда нагрузка на систему невелика, происходит операция слияния индексов, в результате чего дополнительный индекс очищается, а все данные помещаются в основной индекс. Слияние индексов предпочтительнее выполнять в тот момент времени, когда нагрузка на систему минимальна. С этой целью можно создавать регламентированные задания и задания по расписанию.

Рассмотрим случай автоматического обновления индекса при запуске приложения. Данный случай подходит для однопользовательских баз данных (в качестве однопользовательских баз данных могут выступать такие продукты как 1С Бухгалтерия Базовая, 1С Упрощенка), так как при большом количестве пользователей обновление будет происходить после запуска приложения каждого из пользователей, что в результате очень сильно скажется на производительности системы.

Для начала создадим общий модуль и назовем его, к примеру ПП. В нем пропишем следующую процедуру:

Процедура ОбновлениеИндексы() Экспорт

ПолнотекстовыйПоиск.ОбновитьИндекс();

КонецПроцедуры

Так же установим свойства как на рисунке.

Полнотекстовый поиск в 1С

Затем щелкнем правой кнопкой мыши на названии конфигурации в дереве конфигурации и выполним команду Открыть модуль управляемого приложения. Выберем в маленьком окошке сверху предопределенную функцию ПередНачаломРаботыСистемы и поместим в эту процедуру следующую строчку:

ОбновлениеПолнотекстовогоПоиска.ОбновлениеИндексы ();

Полнотекстовый поиск в 1С

Сохраняем внесенные изменения. Таким образом, после каждого запуска приложения индекс будет обновляться автоматически.

Теперь рассмотрим случай, когда пользователей несколько. Здесь воспользуемся Регламентными Заданиями (в режиме Конфигуратор: в дереве конфигурации – Общие – Регламентные Задания). В данном случае нас интересуют только два задания: ОбновлениеИндексаПолнотекстовогоПоиска и СлияниеИндексаПолнотекстовогоПоиска. В свойствах этих заданий выберем Расписание и нажмем на сслыку Открыть. После чего появится следующее окно:

Полнотекстовый поиск в 1С

Настраиваем расписания у обоих заданий. Рекомендаций по настройке в данном случае нет, здесь настройка определяется исходя из особенностей работы системы (нагрузки, объема информации, частоты ее обновлениея т.д.). Сами по себе задания работать не будут, нам потребуется иметь запущенный сеанс программы в режиме Предприятия, который и будет отвечать за выполнение этих заданий. Сразу следует заметить, что данный вариант работы используется для файловой системы. В этом сеансе должна быть запущена обработка ожидания, выполняющая вызов метода встроенного языка. Данная обработка будет иметь следующий вид:

Полнотекстовый поиск в 1С

Перейдем в режим Предприятия и выполним следующее: Запустим нашу обработку, которая в данном случае будет вызываться каждые 5 секунд и, в свою очередь вызывает метод “ВыполнитьОбработкуЗаданий()”. Данный метод проверяет настало ли время выполнять задания согласно их расписанию. Далее перейдем в пункт меню Операции – Константы – Настройка программы – вкладка Обмен Данными.

Полнотекстовый поиск в 1С

Определим пользовательский сеанс, который будет отвечать за выполнение и установим интервал опроса регламентных заданий. Работать в данном сеансе не рекомендуется, так как это может сказаться на производительности системы. Также на дисках ИТС имеется обработка “ЗапускРегламентныхЗаданий”, которая принудительно запускает регламентные задания по выбору пользователя. Форма данной обработки выглядит следующим образом:

Полнотекстовый поиск в 1С

Таким образом все подготовительные работы выполнены и можно приступать непосредственно к самому поиску данных.

Чтобы начать работать с полнотекстовым поиском необходимо выполнить следующую команду: меню Сервис à Поиск данных.

После чего появится следующее окно:

Полнотекстовый поиск в 1С

Нажав на кнопку Настройки, появится поле с дополнительными настройками, такими как: Ограничение области поиска, Нечеткость, Размер Порции (в данном случае значение = 5, что означает вывод по пять результатов поиска на страницу). Параметр Нечеткость обозначает несовпадение части символов в поисковом запросе и полученной в ходе поиска информации. Нечеткость задается в процентном соотношении.

Полнотекстовый поиск может использовать следующие операторы:

Полнотекстовый поиск в 1С

Помимо этого механизм полнотекстового поиска допускает написание части символов русского слова одноклавишными латинскими символами. Результат поиска при этом не измениться.

В клиент-серверном варианте планированием выполнения заданий занимается планировщик заданий.

Планировщик заданий является активным компонентом сервера, т.е. независимо от наличия клиентских соединений с сервером он может выполнять регламентные задания. Активность планировщика особенно заметна, когда он последовательно опрашивает все информационные базы на предмет наличия в них регламентных заданий. Планировщик может отложить опрос определенной информационной базы, если на информационную базу наложена блокировка соединения или блокировка регламентных заданий.

Текущий список регламентных заданий в планировщике может автоматически изменяться (например, когда создается новое или удаляется уже существующее регламентное задание). В любом случае механизм заданий обеспечивает актуальность списка регламентных заданий планировщика и его соответствие спискам регламентных заданий информационных баз кластера.

После того как начальный список регламентных заданий успешно получен, планировщик периодически проверяет, не поступили ли запросы на выполнение фоновых заданий и не нужно ли выполнить какие-либо регламентные задания в соответствии с их расписанием. После того как задание получено рабочим процессом, рабочий процесс устанавливает соединение с информационной базой и выполняет задание в рамках этого соединения. Поскольку рабочий процесс оптимизирован для многопользовательской работы, только первое создание соединения с информационной базой является затратной операцией. Установка последующих соединений с той же информационной базой занимает существенно меньше времени и ресурсов, т.к. большинство внутренних структур данных разделяются между соединениями одной информационной базы. После выполнения задания рабочий процесс уведомляет планировщика об успешном или неуспешном выполнении задания. В случае программного сбоя планировщик может перезапустить регламентное задание (если сбой произошел при выполнении фонового задания, то оно не будет перезапущено).

Нужна помощь по 1C:УПП?

Полнотекстовый поиск и обновление индексов

Полнотекстовый поиск позволяет искать информацию в справочной системе и в данных информационной базы. Выполнить поиск можно по одному или нескольким словам, использовать для поиска поисковые операторы И, ИЛИ, НЕ, а также проводить поиск по части слова.
Раннее введенные поисковые запросы сохраняются и программа предлагает варианты при вводе запроса.

Чтобы воспользоваться полнотекстовым поиском, необходимо убедиться, что он включен в меню «Все функции»

открыть все функции 1с

включить полнотекстовый поиск 1с

После этого запустить форму полнотекстового поиска, нажав значок

поиск в форме 1с

По умолчанию поиск осуществляется «Везде», но можно ограничить область поиска, нажать «Везде» и выбрать разделы для поиска

область поиска в 1с

Полнотекстовый поиск выполняется с помощью индекса. Чтобы поиск дал результат, нужно чтобы данные были проиндексированы. Для этого после ввода данных пользователями требуется нажать кнопку «Обновить индекс» или проверить дату актуальности индекса.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *