Страница конфигурации полнотекстового поиска позволяет визуально редактировать файл fts.xml.
Если флажок Include configuration of the app components включен, свойство приложения cuba.ftsConfig включает конфигурационные файлы компонентов приложения. Если вы выключите данный флажок, сущности компонентов приложения не будут индексироваться до тех пор, пока вы не добавите их в конфигурацию FTS вашего проекта.
Список Entities содержит индексируемые сущности. Выберите сущность в списке и настройте параметры индексации в панели справа.
Таблица Include определяет правила включения атрибутов сущности в индекс. По умолчанию, все локальные
(не ссылочные) атрибуты индексируются путем определения регулярного выражения .*
. Можно также
включать атрибуты по-отдельности, указывая их имена в строках типа Property. Нажимайте Ctrl+Space
для получения подсказки по имеющимся атрибутам сущности.
Таблица Exclude определяет правила исключения атрибутов, добавленных правилами Include. При создании правил типа Property Нажимайте Ctrl+Space для получения подсказки по имеющимся атрибутам сущности.
В поле Searchables можно указать скрипт Groovy для добавления в очередь на индексацию произвольных сущностей, связанных с текущей. Следующие объекты передаются в скрипт при его выполнении:
searchables
- список экземпляров сущностей, которые должны быть добавлены в очередь.entity
- текущий экземпляр, который добавлен в очередь автоматически в связи с его изменением.searchables.add(entity.card)
Поле Searchable if позволяет указать скрипт Groovy для исключения из индексирования определенных экземпляров
сущности. В скрипт передается переменная entity
(текущий экземпляр сущности). Скрипт должен вернуть
true, если данный экземпляр должен быть проиндексирован, или false в противном случае.
Например:
entity.versionOf == null
Поля Searchables и Searchable if поддерживают code completion при нажатии Ctrl+Space.
Внимание: определение конфигурации индексирования недостаточно для работы полнотекстового поиска в вашем приложенииde. Необходимо также выполнить следующее:
app-core.fts:type=FtsManager
, откройте атрибут Enable и установите флажок Value.reindexAll()
и processQueue()
для индексации имеющихся сущностей.processQueue()
бина cuba_FtsManager
.