При полнотекстовом поиске выполняется поиск по текстовому отображению параметров объекта. Например, адреса представляются в виде названия улиц, городов. Списковые параметры - расшифрованные значения. При каждом изменении параметров индекс обновляется и предоставляет выполнять поиск как: "Ленина 5 Иванов".

search fulltext

Конфигурация

В конфигурации BGERP добавить:

fulltext:index.delay=<delay>
fulltext:entry.customer.paramIds=<paramIds>

Где:

  • <delay> - задержка в секундах индексации после окончании правки параметров;

  • <paramIds> - коды параметров контрагента, доступные для индексации.

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

В планировщике задач добавить запуск класса ru.bgcrm.plugin.fulltext.FullTextUpdater либо выполнять его в период тестирования как динамический класс.

Формат запроса

По-умолчанию поиск ищет по условию логическое ИЛИ для всех введённых слов, разделённых пробелами. Для добавления слова как И необходимо сопроводить его префиксом +.

Поиск производится в режиме BOOLEAN следующим запросом:

SELECT * FROM fulltext_data WHERE MATCH(ft.data) AGAINST ("СТРОКА ПОИСКА" IN BOOLEAN MODE)

Спецификацию для MySQL можно посмотреть здесь: https://dev.mysql.com/doc/refman/5.7/en/fulltext-boolean.html