Link Search Menu Expand Document

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

Тип-одиночка
Стд::ПолнотекстовыйПоиск::ПолнотекстовыйПоиск
Базовые типы: Объект
Доступность: Сервер

Иерархия типа

graph TD;
ПолнотекстовыйПоиск["ПолнотекстовыйПоиск"]-->Объект["Объект"];

Функции полнотекстового поиска

Сравнение ссылочное


Методы

ЖдатьЗавершенияОбновленияИндекса

ЖдатьЗавершенияОбновленияИндекса(
  ТочкаИзменений: ТочкаИзмененийПолнотекстовогоПоиска,
  Таймаут: Длительность = 1м
): Булево
Доступность: Сервер

Функция ждёт пока индексная база не обновится до момента обозначенного параметром ТочкаИзменений. Если индексная база уже в актуальном состоянии, функция не будет входить в ожидание и сразу вернёт истину.

Индексная база считается обновлённой если все прошлые изменения до точки ТочкаИзменений и включая саму точку, проиндексированы.

Точку изменений можно получить только через вызов функции [ПолучитьТекущуюТочкуИзменений] и эту функцию желательно вызывать после того, как вы внесли какие-то изменения в инфо-базу. Функция ожидания будет ждать индексации только тех изменений, которые были захвачены вызовом [ПолучитьТекущуюТочкуИзменений].

Функция может прерваться и выбросить исключение по следующим причинам:

  • если сервис фоновой индексации не активирован;
  • если текущее приложение кто-то остановил;
  • если внешняя подсистема выставила флаг прерывания;
  • администратор заблокировал индексацию;

Аргументы:

  • ТочкаИзменений - точка в логе изменений по которую (включительно) мы ожидаем полной индексации всех данных;

  • Таймаут - максимальное время ожидания; если превышено время ожидания, функция прервёт ожидание и вернёт ложь. Максимальное время ожидания не более 24 суток, значение по умолчанию: 1 минута.

Результат:

Функция возвращает истину, если мы успешно дождались окончания обновления. Функция возвращает ложь, если было превышено время ожидания.


ИндексАктуален

ИндексАктуален(): Булево
Доступность: Сервер

Функция возвращает истину, если поисковый индекс актуален, то есть он существует, он полностью построен и соответствует текущему состоянию данных приложения. Это также означает, что все, произошедшие ранее, изменения были проиндексированы и/или переиндексированы (актуализированы).


ИндексБылАктуален

ИндексБылАктуален(ЗаПоследнийПериод: Длительность = 1м): Булево
Доступность: Сервер

Искать

Доступность: Сервер
Перегрузка:
Искать(ПоисковыйЗапрос: Строка, ИндексСтраницы: Число = 0, РазмерСтраницы: Число = 40, Фильтр: Строка = “”, ИскатьТолькоПоЗаголовкам: Булево = Ложь, ОбластьПоиска: ЧитаемаяКоллекция<Тип>, ОбластьИсключенийИзПоиска: ЧитаемаяКоллекция<Тип>): ЧитаемыйМассив<Сущность.Ссылка>

Осуществляет поиск по индексной базе с возвратом первой страницы результатов поиска. Результаты поиска упорядочены по релевантности.

Аргументы:

Результат:

Объект типа РезультатПолнотекстовогоПоиска.


Искать

Искать(
  ПоисковыйЗапрос: Строка,
  ИндексСтраницы: Число = 0,
  РазмерСтраницы: Число = 40,
  Фильтр: Строка = "",
  ИскатьТолькоПоЗаголовкам: Булево = Ложь,
  ОбластьПоиска: ЧитаемаяКоллекция<Тип>,
  ОбластьИсключенийИзПоиска: ЧитаемаяКоллекция<Тип>
): ЧитаемыйМассив<Сущность.Ссылка>
Доступность: Сервер

Функция поиска без настроек результатов поиска. Осуществляет поиск по индексной базе с возвратом первой страницы результатов поиска в виде массива ссылок. Результаты поиска упорядочены по релевантности.

Аргументы:

  • ПоисковыйЗапрос - пользовательский поисковый запрос в синтаксисе 1С-поиска;
  • ИндексСтраницы - сколько страниц среди найденных записей надо предварительно пропустить;
  • РазмерСтраницы - сколько записей приходится на одну страницу;
  • Фильтр - дополнение к поисковому запросу, которое скрыто добавляется через оператор AND, но в результатах поиска ключевые слова из этого фильтра не подсвечиваются. И фильтр не влияет на то, как формируются выдержки текста. Также важно знать, что фильтр работает быстрее обычного поискового запроса.
  • ИскатьТолькоПоЗаголовкам - истина, если надо осуществить поиск не по основному содержимому, а только по заголовкам.
  • ОбластьПоиска - массив ссылочных типов, по которым нужен поиск; если передать пустой массив, будет поиск по всем типам; значение по умолчанию: пустой массив;
  • ОбластьИсключенийИзПоиска - массив ссылочных типов, которые нужно исключить из области поиска. Значение по умолчанию: пустой массив. Вы можете заполнить либо массив [ОбластьИсключенийИзПоиска], либо массив [ОбластьПоиска], но не оба массива сразу;

Результат:

Объект типа [ЧитаемыйМассив<Сущность.Ссылка>] - массив ссылок на найденные записи;


КоличествоИзменений

КоличествоИзменений(): Число
Доступность: Сервер

Возвращает количество изменений на текущий момент времени, которое ещё не попало в индекс полнотекстового поиска, то есть не было проиндексировано. Если была создана, удалена или изменена какая-то одна запись, это принимается за одно изменение. Если изменился элемент проекта, это тоже принимается вначале за одно изменение, но потом, на одном из этапов индексации, регистрируются ссылки на все записи элемента проекта и мы можем, переодически вызывая функцию КоличествоИзменений, отслеживать - сколько осталось проиндексировать записей по этому элементу проекта. Если функция КоличествоИзменений возвращает ненулевое значение, значит индекс не актуален, то есть функция ИндексАктуален будет возвращать Ложь.


ПерестроитьИндекс

ПерестроитьИндекс()
Доступность: Сервер

Подаёт заявку на запуск задания для полного перестроения поискового индекса. При этом, поисковый индекс предварительно удаляется.


ПолучитьТекущуюТочкуИзменений

ПолучитьТекущуюТочкуИзменений(): ТочкаИзмененийПолнотекстовогоПоиска
Доступность: Сервер

Список унаследованных методов

Объект