Конфигурация сервиса полнотекстовых индексов (full text index service)#
В preset и service descriptor сервису соответствует service_type = FULLTEXTINDEX_SERVICE (см. разделы Preset и Service Descriptors).
Параметры необходимые к заполнению в service descriptor.yml.
Параметры сервиса:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
service.port |
Порт, на котором будет запущен сервис |
port |
29097 |
нет |
service.fulltext.overdraft.max-overdraft-percent |
Максимальный процент овердрафта для задач полнотекстового индекса |
long |
50 |
нет |
service.fulltext.message-filter.max-count |
Максимальное количество условий фильтрации сообщений |
long |
5 |
нет |
index.instance.delete.enabled |
Включение/выключение возможности удаления экземпляра индекса |
boolean |
false |
нет |
service.fulltext.sources.editEnabled |
Включение/выключение возможности добавления источника при редактировании индекса |
boolean |
false |
нет |
service.fulltext.solr.properties.config |
Можно переопределить solrconfig.xml через cloudera в формате строки. Если параметр пустой, будет использоваться конфигурация по умолчанию из abyss/configs/solrconfig.xml |
string |
- |
нет |
* Для осуществления изменения количества источников данных в конфигурации полнотекстового индекса необходимо в настройках Cloudera Abyss_FullTextIndex_service в разделе common.service.configuration.advanced добавить json-параметр service.fulltext.sources.editEnabled со значением true.
Параметры БД:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
spring.datasource.username |
Имя пользователя для подключения к БД |
fulltext_service_user |
нет |
|
spring.flyway.user |
Имя flyway пользователя для подключения к БД |
flyway_fulltext_service_user |
нет |
Параметры публикации метрик и логов:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
service.metrics.label |
Метка сервиса в сообщениях, для определения откуда пришли метрики |
string |
fulltext_service |
нет |
logger.kafka.client-id |
Имя Kafka клиента, которое будет использоваться для logger |
string |
abyss_fulltext_service |
нет |
service.metrics.kafka.group-id |
Идентификатор группы для Kafka-producer |
string |
telegraf-metrics-fulltext-service |
нет |
service.fulltext.scheduler.metric.enabled |
Включение/выключение публикации метрик оперативного хранилища |
boolean |
false |
нет |
Параметры путей:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
common.security.api-paths.additional-public |
Дополнительные публичные пути (для которых не требуется аутентификация), которые добавляются к публичным путям по умолчанию |
string |
- |
нет |
JVM:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
service.jvm-params |
Параметры передающиеся в JVM |
string |
-Xmx256m -XX:+ExitOnOutOfMemoryError -XX:MaxGCPauseMillis=100 -XX:+UseG1GC |
нет |
Настройки выделения термов при поиске:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
service.fulltext.query.highlighting.fragsize |
Примерный размер фрагментов возвращаемых при поиске. Если размер фрагмента задан значением 0, то возвращается содержимое всего поля. |
long |
0 |
нет |
service.fulltext.query.highlighting.pre-tag |
Тег устанавливаемый перед найденным элементом (термом) для выделения. Пример: <em>. |
string |
<em> |
нет |
service.fulltext.query.highlighting.post-tag |
Тег устанавливаемый после найденного элемента (терма) для выделения. Пример: </em>. |
string |
</em> |
нет |
service.fulltext.query.highlighting.required-field-match |
Параметр управляющий выделением искомых термов и их соответствием полям. Если установлен в значение false то все найденные термы запроса будут выделены для всех полей. Если установлен в значение true то выделятся будут только термы найденные в заданных в поиске полях. |
boolean |
true |
нет |
service.fulltext.query.highlighting.snippets |
Количество фрагментов возвращаемых в результатах поиска |
long |
10 |
нет |
Настройки ротации:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
service.fulltext.rotation.min-allowed-rotation-interval-sec |
Минимальное время в секундах до выполнения ротации разделов индекса. Задается в секундах. |
long |
60 |
нет |
Настройки аутентификации клиента Solr:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
service.fulltext.solr.client.basic-auth.enabled |
Параметр включающий использование аутентификации при доступе к Solr |
false |
false |
нет |
service.fulltext.solr.client.basic-auth.user |
Имя пользователя для доступа к Solr |
- |
нет |
|
service.fulltext.solr.client.basic-auth.password |
Пароль пользователя для доступа к Solr |
- |
нет |
Общие настройки Solr:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
service.fulltext.solr.replica-rules |
Правило распределения реплик Solr. Пример: [«shard:*,replica:<2,host:*»] |
string |
[«shard:*,replica:<2,host:*»] |
нет |
service.fulltext.solr.replica-type |
Тип репликации shard solr коллекций. Возможные значения: NRT, TLOG |
string |
NRT |
да |
Настройки подключения к zookeeper:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
service.fulltext.solr.client.zookeeper.chroot |
Корневой каталог Zookeeper с метаданными Solr |
string |
/solr |
нет |
service.fulltext.solr.client.zookeeper.client-timeout-ms |
Таймаут клиентской сессии Zookeeper. Указывается в миллисекундах. |
long |
30000 |
нет |
service.fulltext.solr.client.zookeeper.client-connect-timeout-ms |
Таймаут установления подключения к Zookeeper. Указывается в миллисекундах. |
long |
30000 |
нет |
service.fulltext.solr.client.zookeeper.connection |
Список серверов Zookeeper для подключения. Формат: host1:2181,host2:2181. |
string |
- |
да |
Настройки модели индекса:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
service.fulltext.index.model.max-shard-size-bytes |
Максимальный размер shard в Solr для индекса в байтах |
long |
21474836480 |
нет |
service.fulltext.index.model.max-data-rate-bytes-per-sec-per-shard |
Максимальная скорость записи данных в shard (байт в секунду) для индекса |
long |
4194304 |
нет |
service.fulltext.index.model.index-partition-ratio |
Количество партиций для индекса. Поскольку партиции индекса удаляются целиком при ротации данных, малое количество партиций может привести к потере актуальных данных. |
long |
4 |
нет |
service.fulltext.index.model.index-filling-ratio |
Относительная величина заполнения раздела индекса. При превышении данной величины запись будет выполнятся в следующий раздел. |
double |
0.9 |
нет |
service.fulltext.index.model.index-size-correction-ratio |
Коэффициент коррекции размера индекса |
double |
2.5 |
нет |
service.fulltext.index.model.avg-to-max-index-speed-ratio |
Коэффициент средней величины скорости от максимального значения |
double |
0.7 |
нет |
Настройки TLS для подключения к Solr:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
pvm.system.security.ssl.certificates.service-fulltext-solr-client.client-certificate |
Путь к клиентскому сертификату (или клиентский сертификат) для доступа к Solr по SSL |
- |
нет |
|
pvm.system.security.ssl.certificates.service-fulltext-solr-client.private-key |
Путь к приватному ключу (или приватный ключ) для доступа к Solr по SSL |
- |
нет |
|
pvm.system.security.ssl.certificates.service-fulltext-solr-client.private-key-password |
Пароль от приватного ключа для доступа к Solr по SSL |
- |
нет |
|
pvm.system.security.ssl.certificates.service-fulltext-solr-client.overridden-by |
Параметр позволяющий установить значения параметров SSL контекста service-fulltext-solr-client из указанного SSL контекста |
string |
нет |
|
pvm.system.security.ssl.certificates.service-fulltext-solr-client.enabled |
Параметр включающий использование SSL при доступе к Solr |
boolean |
false |
нет |
Настройки запросов поиска:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
service.fulltext.query.fields-scan.min-shards-to-scan |
Минимальное количество shard (сегментов,кусков), которые будут просмотрены при выполнении запросов |
long |
3 |
нет |
service.fulltext.query.fields-scan.index-fields-scan-precision |
Параметр определяет относительное количество shard, которые будут просмотрены при выполнении запросов. Например значение 0.5 приводит к поиску в половине имеющихся shard. Если при расчете количества shard получается количество меньшее чем заданное параметром min_shards_to_scan то требуемое количество shard будет установлено в значение service.fulltext.query.fields-scan.min-shards-to-scan. |
double |
0.2 |
нет |
service.fulltext.query.fields-scan.index-fields-fetch-timeout-ms |
Общий таймаут поиска в индексе. Задается в миллисекундах. |
long |
6000 |
нет |
service.fulltext.query.fields-scan.shard-fields-fetch-timeout-ms |
Таймаут поиска для одной shard индекса. Задается в миллисекундах. |
long |
2000 |
нет |
Настройки потоков обработки:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
service.fulltext.flow.checkpoint-interval-ms |
Временной интервал между сохранениями состояния задачи Flink в миллисекундах |
long |
10000 |
нет |
service.fulltext.flow.max-thread-datarate-bytes-per-sec |
Максимальная скорость обработки данных одним экземпляром задачи Flink в байтах в секунду |
long |
2621440 |
нет |
service.fulltext.flow.sink.solr.threads-number |
Количество потоков для одной задачи записи в Solr |
long |
1 |
нет |
service.fulltext.flow.sink.solr.parallelism-ratio |
Коэффициент параллелизма Flink для задачи записи в Solr |
double |
1.0 |
нет |
service.fulltext.flow.sink.solr.batch-size |
Размер пакета для задач при взаимодействии с Solr |
long |
1000 |
нет |
service.fulltext.flow.sink.solr.flush-time-ms |
Временной интервал отложенной записи буферизованных данных при взаимодействии с Solr в миллисекундах |
long |
5000 |
нет |
service.fulltext.flow.sink.delivery-strategy |
Стратегия доставки сообщений для полнотекстовой индексации. Два возможных значения: |
string |
AT_MOST_ONCE |
|
AT_LEAST_ONCE - все сообщения доставятся, возможны дубли. При возникновении каких-либо исключительных ситуаций соответствующая задача во Flink будет перезапускаться с последнего успешного чекпоинта. |
||||
AT_MOST_ONCE - возможны потери данных. При возникновении каких-либо исключительных ситуаций информация о случившемся будет записана в лог, а соответствующая задача во Flink продолжит работу. |
Настройки источников данных:
Параметр |
Описание |
Тип параметра |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
service.fulltext.sources.max-count |
Максимальное количество источников для полнотекстового индекса |
long |
5 |
нет |
Настройки параметров кеширования:
Параметр |
Описание |
Тип параметра |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
service.fulltext.cache.query-fields-scan.expire-after-write-sec |
Время актуальности кеша для запроса получения полей индекса |
long |
300 |
нет |
Настройки ограничений фасетных запросов:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
service.fulltext.query.facet.string-allowed |
Параметр для глобальной настройки разрешений на фасетный поиск по строковым(STRING) полям |
boolean |
false |
нет |
service.fulltext.flow.filter.facet-string-max-bytes |
Максимальный размер строкового поля в байтах (от 10 до 32766) разрешенный для выполнения фасетных запросов |
long |
1024 |
нет |
service.fulltext.flow.filter.facet-string-spec |
Спецификация по настройке фасетного поиска по строковым полям, в которой указываются название индекса и поля, по которым разрешен фасетный поиск |
JSON |
- |
нет |
Формат спецификации service.fulltext.flow.filter.facet-string-spec
Поле |
Описание |
|---|---|
projectKey |
Имя проекта(ключ проекта) |
name |
Имя полнотекстового индекса |
faceting-fields |
Cписок полей в индексе, заданных в схеме как STRING |