author webber (web-ber12@yandex.ru)
если считаете данный продукт полезным и хотите отблагодарить автора материально,
либо просто пожертвовать немного средств на развитие проекта -
можете сделать это на любой удобный Вам электронный кошелек
Яндекс.Деньги 410011544038803
Webmoney WMR: R133161482227
Webmoney WMZ: Z202420836069
с необязательной пометкой от кого и за что именно
- плагин
evoSearch
- используется для индексирования результатов поиска. Индексируются поляpagetitle
,longtitle
,description
,introtext
,content
и указанныеTV-параметры
. ТребуемыеTV
указываются в конфигруации плагина через админку в поле Имена TV для поиска через запятую. При использовании для построения списка возможных значенийTV
сниппетаmultiParams
(из комплектаeFilter
) индексируются неid
ресурсов, а их заголовки. - сниппет
evoSearch
- используется для вывода результатов поиска. Может работать в двух режимах: использовать для вывода результатовDocLister
или возвращать списокid
ресурсов (режим выбирается параметром&action='ids'
). В последнем случае генерируется и возвращается списокid
ресурсов, подходящих под условия поиска. Эти данные могут использоваться в любом другом сниппете через плейсхолдерevoSearchIDs
, который содержим массивid
из результатов поиска.
DocLister
Самый просто способ установки - использоваться модуль Extras
в админке.
В результате установятся необходимые компоненты: плагин, сниппет, чанки.
Для плагина требуется событие onDocFormSave
.
Параметры:
&offset=Первая строка переиндексации;text;0
&rowsperonce=Строк за сеанс индексировать;text;1
&reindex=Переиндексировать все;text;0
&excludeTmpls=Исключить шаблоны;text;
&excludeIDs=Исключить ID ресурсов;text;
&TvNames=Имена TV для поиска;text;
&unpublished=Индексировать неопубликованные;text;0
&deleted=Индексировать удаленные;text;0
&dicts=Использовать словари;text;rus,eng
- До первого запуска сниппета на фронтэнде сайта необходимо провести индексацию.
- Cоздание необходимых полей
content_with_tv
иcontent_with_tv_index
, а также нужных индексов производится автоматически при первом запуске индексации.
- При первом запуске или переиндексации выставить параметры в плагине:
- Переиндексировать все = 1
- Первая строка переиндексации = 0 *
- Строк за сеанс индексировать = 10 000 *
- открыть и пересохранить любой документ - необходимо для вызова события
onDocFormSave
. - Установить Переиндексировать все = 0, Строк за сеанс индексировать = 1
* Первая строка и количество строк за сеанс устанавливать в зависимости от возможностей хостинга. Например, первая строка 0 и строк за сеанс 10 000 проиндексирует в БД строки с 0 в количестве 10 000 штук.
для вывода результатов [!evoSearch? &tpl=`evoSearch`!]
Чанк evoSearch
создается при установке дополнения.
Сниппет evoSearch
является оберткой для DocLister
, поэтому то он принимает все параметры DocLister
.
- &action = ids - возвращает список найденных
ids
, которые можно подставить в другой сниппет. По-умолчанию - отрабатывает полностью с выводом результатов - &noResult - шаблон строки, которая выводится при отсутствии результата поиска. Значение по-умолчанию:
&noResult = "По запросу <u>[+stat_request+]</u> ничего не найдено. Смягчите условия поиска")
- &extract - отключить экстрактор. Формирует нужную часть текста с подсветкой из результатов поиска. Плейсхолдер
[+extract+]
в чанке вывода результатовDocLister
. Значение по-умолчанию:
&extract = 1
- &maxlength - максимальная длина извлекаемой части текста в результатах поиска. Значение по-умолчанию:
&maxlength = 350
- &show_stat - показ статистики. Значение по-умолчанию:
&show_stat = 1
- &statTpl - шаблон показа статистики. Значение по-умолчанию:
<div class="evoSearch_info">По запросу <b>[+stat_request+]</b> найдено всего <b>[+stat_total+]</b>. Показано <b>[+stat_display+]</b>, c [+stat_from+] по [+stat_to+]</div>
где
[+stat_request+]
- запрос из строки$_GET['search']
[+stat_total+]
- количество найденных документов[+stat_display+]
- показано на текущей странице с[+stat_from+]
по[+stat_to+]
- &rel - релевантность поиска.по умолчанию 0.01, Чем выше цифра - тем более релевантные результаты и тем их меньше. Значение по-умолчанию:
&rel = 0.01
- &search_field - поле
$_GET
для запроса. По-умолчанию запрос ищется в$_GET['search']
. - &minlength - минимальная длина слова, которое будет участвовать в полнотекстовом поиске. Значение по-умолчанию:
&minlength = 2
подсветка найденных слов в pagetitle и extract в результатах поиска осуществляется тегом - т.е. возможна ее стилизация через css-файлы
- Подсветка найденных слов в
pagetitle
иextract
в результатах поиска осуществляется тегом<span class="evoSearch_highlight">
. Возможна ее стилизация через css-файлы. - Т.к. при полнотекстовом поиске MySQL без дополнительных настроект обрабатываются только слова не короче 4 символов. Для улучшения результатов поиска используется дополнительный поиск средствами фильтров
DocLister
, что улучшает результаты. Особенно при их отстутствии в результате обычного поиска. - Совместим с
DocLister
версии 1.4.1 и ниже, 1.4.8 и выше. - В версиях 1.4.5, 1.4.6, 1.4.7 встречается некорректный сброс строки
$_GET
, из-за чего некорректно срабатывает обработка пустых результатов.
По вопросам сотрудничества обращайтесь на электронный ящик web-ber12@yandex.ru