Конфигурация сервиса полнотекстовых индексов (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

Имя пользователя для подключения к БД

secret

fulltext_service_user

нет

spring.flyway.user

Имя flyway пользователя для подключения к БД

secret

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

secret

-

нет

service.fulltext.solr.client.basic-auth.password

Пароль пользователя для доступа к Solr

secret

-

нет

Общие настройки 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

secret

-

нет

pvm.system.security.ssl.certificates.service-fulltext-solr-client.private-key

Путь к приватному ключу (или приватный ключ) для доступа к Solr по SSL

secret

-

нет

pvm.system.security.ssl.certificates.service-fulltext-solr-client.private-key-password

Пароль от приватного ключа для доступа к Solr по SSL

secret

-

нет

pvm.system.security.ssl.certificates.service-fulltext-solr-client.overridden-by

Параметр позволяющий установить значения параметров SSL контекста service-fulltext-solr-client из указанного SSL контекста

string

global

нет

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