-
Kernel
-
Plugins
-
Billing
-
Collaboration
-
Planning
-
Messaging
-
Security
-
Service
-
Решения
-
CHANGES
Kernel
Plugins
Billing
Collaboration
Planning
Messaging
Security
Service
Решения
CHANGES
При полнотекстовом поиске выполняется поиск по текстовому отображению параметров объекта. Например, адреса представляются в виде названия улиц, городов. Списковые параметры - расшифрованные значения. При каждом изменении параметров индекс обновляется и предоставляет выполнять поиск как: "Ленина 5 Иванов".
В конфигурации BGERP добавить:
fulltext:index.delay=<delay> fulltext:entry.customer.paramIds=<paramIds> fulltext:entry.process.paramIds=<paramIds> fulltext:entry.message.paramIds=*
Где:
<delay> - задержка в секундах индексации после окончании правки объекта;
<paramIds> - коды параметров контрагента либо процессов, доступные для индексации, *
- все параметры.
В полнотекстовый индекс помимо параметров для контрагента добавляется его наименование, для процесса - описание. Обрабатываются следующие типы параметров:
При правильной настройке в оснастке поиска появится ещё один выпадающий пункт Полнотекстовый поиск, см. снимок экрана ранее.
В планировщике задач добавить запуск класса FullTextUpdate один раз в минуту, либо запустить его в период тестирования.
Индекс обновляется с задержкой после редактирования сущности, либо её параметров. Для инициации индексирования всех уже существующих объектов выполнить запуск ru.bgcrm.plugin.fulltext.exec.FullTextInit.
По-умолчанию поиск ищет по условию логическое ИЛИ для всех введённых слов, разделённых пробелами. Для добавления слова как И необходимо сопроводить его префиксом +.
Поиск производится в режиме 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