author webber (web-ber12@yandex.ru)
если считаете данный продукт полезным и хотите отблагодарить автора материально,
либо просто пожертвовать немного средств на развитие проекта -
можете сделать это на любой удобный Вам электронный кошелек
Яндекс.Деньги 410011544038803
Webmoney WMR: R133161482227
Webmoney WMZ: Z202420836069
с необязательной пометкой от кого и за что именно
- плагин evoSearch - для индексирования (индексируются pagetitle,longtitle,description,introtext,content и указанные явно в плагине ТВ (по именам через запятую)). При использовании для построения списка возможных значений TV сниппета multiParams (из комплекта eFilter) индексируются не id ресурсов, а их заголовки.
- сниппет evoSearch - для вывода результатов поиска (использует DocLister, но может работать в режиме &action=
ids
. В этом случае лишь генерируется и возвращается список id ресурсов, подходящих под условия поиска, которые могут использоваться в любом другом сниппете (параллельно устанавливается плейсхолдер evoSearchIDs - массив тех же id)).
- сниппет DocLister
устанавливаем плагин и сниппет. Для плагина событие 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
- до первого запуска сниппета на фронтэнде сайта необходимо запустить индексацию (сохранить любой ресурс в админке)
- создание необходимых полей content_with_tv и content_with_tv_index, а также нужных индексов производится автоматически (!!!) при первом запуске индексации
- индексация запускается сохранением любого ресурса (вызовом события onDocFormSave)
при первом запуске или необходимости переиндексации необходимо выставить параметр "Переиндексировать все" = 1, начальные строки и количество строк за сеанс устанавливаются в зависимости от возможностей вашего хостинга (например 0 и 10 000 соответственно - проиндексирует строки с 0 в количестве 10 000 штук в БД необходимо открыть и пересохранить любой документ для создания события onDocFormSave
для последующей работы установите "Переиндексировать все" = 0, "Строк за сеанс индексировать" = 1 при этом происходит переиндксация только того документа, который сохраняется
для вывода результатов [!evoSearch? &tpl=`evoSearch`!],
параметры DocLister - т.к. это обертка для DL, то он понимает все параметры DocLister - paginate, display, addWhereList (ограничения на вывод в результатах поиска шаблонов, id и всего чего угодно)
- &action =
ids
- возвращает список найденных ids, которые можно подставить в другой сниппет. По-умолчанию - отрабатывает полностью с выводом результатов - &noResult =
Ничего не найдено
- шаблон строки, которая выводится при отсутствии результата поиска (по-умолчанию "По запросу [+stat_request+] ничего не найдено. Смягчите условия поиска") - &extract =
0
- отключить экстрактор формирует нужную часть текста с подсветкой из результатов поиска (плейсхолдер [+extract+] в чанке вывода результатов DocLister) - по умолчанию 1 (не извлекать) - &maxlength =
300
- максимальная длина извлекаемой части текста в резуьлтатах поиска (по умолчанию 350) - &show_stat =
0
- отключаем показ статистики "найдено....показано...с...по...". По умолчанию - 1 - показ включен - &statTpl = `` - шаблон показа статистики (по умолчанию - По запросу [+stat_request+] найдено всего [+stat_total+]. Показано [+stat_display+], c [+stat_from+] по [+stat_to+]), где [+stat_request+] - запрос из строки $_GET['search'] [+stat_total+] - найдено всего [+stat_display+] - показано на текущей странице с [+stat_from+] по [+stat_to+]
- &rel =
1
- релевантность поиска, по умолчанию 0.01, чем выше цифра - тем более релевантные результаты и тем их меньше - &search_field =
search2
- поле $_GET для запроса (по-умолчанию запрос ищется в $_GET['search']) - &minlength =
3
- минимальная длина слова, которое будет участвовать в полнотекстовом поиске (по-умолчанию 2)
подсветка найденных слов в pagetitle и extract в результатах поиска осуществляется тегом - т.е. возможна ее стилизация через 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