Приложение B: Свойства приложения
В данном разделе перечислены свойства приложения, имеющие отношение к подсистеме полнотекстового поиска.
- cuba.ftsConfig
-
Аддитивный конфигурационный параметр, задает файл конфигурации FTS проекта.
Файл загружается с помощью интерфейса
Resources
, поэтому может быть расположен в classpath или вконфигурационном каталоге
.Используется в блоке Middleware.
Пример:
cuba.ftsConfig = +com/company/sample/fts.xml
- cuba.gui.genericFilterFtsTableTooltipsEnabled
-
Флаг включает генерацию всплывающих сообщений при наведении на строку в комопонентах Table и DataGrid. Всплывающие сообщения содеражат информацию о том, в каком атрибуте сущности было найдено выражение, использованное при полнотекстовом поиске. Генерация таких всплывающих сообщение может занимать значительное время, по умолчанию она отключена.
Интерфейс:
ClientConfig
Хранится в базе данных.
Значение по умолчанию:
false
- cuba.gui.genericFilterFtsDetailsActionEnabled
-
Флаг включает элемент контекстного меню "Детали полнотекстового поиска" в таблице или дата-гриде в случае, если поиск осуществлялся с помощью универсального фильтра.
Интерфейс:
ClientConfig
Хранится в базе данных.
Значение по умолчанию:
true
Все свойства, описанные ниже, являются параметрами времени выполнения, хранятся в базе данных и доступны в коде приложения через конфигурационный интерфейс FtsConfig
.
- fts.enabled
-
Флаг, разрешающий использование функциональности FTS в проекте.
Значение данного флага может быть оперативно изменено с помощью атрибута Enabled JMX-бина
app-core.fts:type=FtsManager
.Значение по умолчанию:
false
- fts.indexDir
-
Абсолютный путь к каталогу для хранения индексных файлов. Если не установлен, используется подкаталог
ftsindex
рабочего каталога приложения (задаваемого свойствомcuba.dataDir
), в стандартном варианте развертывания этоtomcat/work/app-core/ftsindex
.Значение по умолчанию: не установлено
- fts.indexingHosts
-
Список (разделенный символом "|") серверов, которые должны поддерживать поисковый индекс в кластере. Каждый сервер представляется своим Server ID.
Например:
cuba.fts.indexingHosts = host1:8080/app-core|host2:8080/app-core
Значение по умолчанию: не установлено, что означает, что постановка в очередь и индексирование производятся единственным текущим сервером.
- fts.indexingBatchSize
-
Количество записей, извлекаемое из очереди на индексирование за один вызов метода
processQueue()
.Данное ограничение актуально для ситуации, когда в очереди на индексацию оказывается сразу очень большое число записей, например, после выполнения метода
reindexAll()
JMX-бинаapp-core.fts:type=FtsManager
. В этом случае индексация выполняется порциями, что занимает больше времени, но создает ограниченную и предсказуемую нагрузку на сервер.Значение по умолчанию:
300
- fts.reindexBatchSize
-
Количество записей, помещаемое в очередь на индексацию за один вызов метода
reindexNextBatch()
.Значение по умолчанию:
5000
- fts.maxNumberOfSearchTermsInHitInfo
-
Максимальное количество вхождений искомого слова, которое будет добавлено в hit info для каждого из индексируемых полей сущности. Например, в сущности индексируется поле с типом
FileDescriptor
. Если значение свойстваfts.maxNumberOfSearchTermsInHitInfo
равно 2, то это значит, что в hit info будет добавлено только 2 первых вхождения искомого слова в файл. То же самое будет со всеми остальными индексируемыми полями сущности.Значение по умолчанию:
1
- fts.maxSearchResults
-
Максимальное количество результатов поиска.
Значение по умолчанию:
100