Просмотров: 20558 (Статистика ведётся с 06.02.2017)
Дата последнего изменения: 11.07.2018

Поиск информации на сайте выполняется на основе поискового индекса (индексных таблиц).

Индексирование – процесс сбора, классификации и сохранения данных с целью облегчить быстрый и точный поиск информации.

В индексе участвуют:

  • статические файлы;
  • форумы;
  • блоги;
  • информационные блоки;
  • учебные курсы;
  • социальная сеть.

Вся текстовая информация, которая попадает на сайт в виде статических HTML страниц или через интерфейс модулей (например, модуль Информационные блоки, модуль Форум и т.д.) индексируется автоматически.

Важно!

В индексе, а, следовательно, и в поиске участвуют только те статические файлы, для которых задан заголовок ($APPLICATION -> SetTitle();) или есть метатег TITLE.

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

Во всех случаях, когда происходит добавление информации не штатными средствами (минуя интерфейс системы), либо информация изменена без изменения даты, требуется ручная переиндексация. Например, после загрузки файлов по FTP понадобится ручная переиндексация сайта.

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

При работе с учебными курсами (т.е. при добавлении и редактировании курсов, глав, уроков или импорте курсов) всегда требуется ручная переиндексация.

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

Обновление индексных таблиц выполняется с помощью формы Переиндексация сайта (Настройки > Поиск > Переиндексация):

Переиндексация сайта

  • Так как на сайте может быть представлен значительный объем информации, процедура переиндексации может занять довольно продолжительное время. Чтобы сократить затраты времени, можно выполнить переиндексацию только измененных файлов (опция Переиндексировать только измененные), либо выбрать сайт и/или модуль, данные которых будут участвовать в переиндексации (поля Сайт и Модуль).

    Примечание:

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

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

  • Индексирование производится поэтапно, продолжительность выполнения одного шага задается в поле Шаг.

    Чем больше время – тем лучше. (При незаполненном поле переиндексация выполняется в один шаг, что и рекомендуется делать на локальной установке при разработке проекта.) Но на время выполнения операции индексирования на удаленном сервере накладывает ограничения хостинг. Установку времени выполнения шага рекомендуется назначать не больше, чем время выполнения скрипта, задаваемое хостинговой кампанией. В большинстве случаев подходит значение параметров в 50 секунд на один шаг.

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

Для этого:

  • Перейдите в разделы социальной сети (где установлены компоненты Социальная сеть (socialnetwork), Социальная сеть – группы (socialnetwork_group), Социальная сеть – пользователь (socialnetwork_user))
  • Нажмите кнопку Индексация на панели управления (Режим правки должен быть включен):

Документация по теме:



47


Курсы разработаны в компании «1С-Битрикс»