[mSearch2] 1.5.2 - произвольные слова в индексе
Представляю вам новую версию mSearch2 с небольшим, но очень важным изменением в логике работы индексации.
Теперь вы можете добавлять любые произвольные поля и слова в индекс буквально на лету, свои плагином на событие mse2OnBeforeSearchIndex:
В данном примере всем ресурсам добавится в индекс поле my_field со словом «WORDS» («my» не попадёт в индекс из-за ограничения длины по умолчанию), а товарам miniShop2 будет добавлено еще и product_field со словами «Product» и «Property».

Таким образом вы можете добавить ресурсу любые поля и они проиндексируется согласно правил сайта.
Новая версия уже в магазине, можно обновляться.
Теперь вы можете добавлять любые произвольные поля и слова в индекс буквально на лету, свои плагином на событие mse2OnBeforeSearchIndex:
<?php
switch ($modx->event->name) {
case 'mse2OnBeforeSearchIndex':
$mSearch2->fields['my_field'] = 1;
$resource->set('my_field', 'My Words');
if ($resource->get('class_key') == 'msProduct') {
$mSearch2->fields['product_field'] = 1;
$resource->set('product_field', 'Product Property');
}
break;
}В данном примере всем ресурсам добавится в индекс поле my_field со словом «WORDS» («my» не попадёт в индекс из-за ограничения длины по умолчанию), а товарам miniShop2 будет добавлено еще и product_field со словами «Product» и «Property».

Таким образом вы можете добавить ресурсу любые поля и они проиндексируется согласно правил сайта.
Новая версия уже в магазине, можно обновляться.
Комментарии: 12
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Т.е. опять же как я понимаю, из примера, каждый раз когда ресурс добавляется в индекс, срабатывает «mse2OnBeforeSearchIndex»?
Хорошо, что на написание символов поиск не обращает внимание, и большая часть из них (áčďéěíňóřšťúůýž) вырезается и заменяется на символы из английского, но к примеру на первом скрине, в третьей строке сверху слово «signováno», по нему теперь ничего не найдет.
вырезается и заменяется на символы из английскогоНе, это не делается оказывается :)
Все что писал выше не актуально. Не на то грешил. Все работает теперь как надо :)
Есть ли возможность добавить в индекс поля тикета в своём коде?
Код из родного плагина компонента: