Настройка индексаторов

Для ускорения поиска и отображения данных в Synergy - форм, файлов и документов - используются индексаторы. По умолчанию используется индексатор Lucene. При необходимости, если необходим быстрый поиск по большому объему данных, Lucene может быть заменен на Elasticsearch.

Конфигурирование индексаторов выполняется в соответствующих xml-файлах:

Настройка количества символов для поиска и сортировки текста

Длина текста для полного совпадения

Настройка exactStringLength регулирует максимальную длину текста для поиска точного совпадения. Весь текст большей длины обрезается.
По умолчанию используется значение 100 символов.

Для изменения этого значения нужно в конфигурационный файл индексатора добавить новую настройку вида <exactStringLength>новое_количество_символов</exactStringLength>.

Пример настройки для Elasticsearch:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration xmlns="http://www.arta.kz/xml/ns/ai"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://www.arta.kz/xml/ns/ai http://www.arta.kz/xml/ns/ai/index.xsd">
    <!-- URL доступа к серверу Elasticseach -->
    <url>http://localhost:9200/</url>
    <exactStringLength>500</exactStringLength>
    <forms>
        <!-- ... -->
    </forms>
    <files>
        <!-- ... -->
    </files>
    <docs>
        <!-- ... -->
    </docs>
</configuration>

Длина текста для сортировки

Настройка sortStringLength регулирует максимальную длину текста для сравнения и сортировки строк. Весь текст большей длины обрезается.
По умолчанию используется значение 50 символов.

Для изменения этого значения нужно в конфигурационный файл индексатора добавить новую настройку вида <sortStringLength>новое_количество_символов</sortStringLength>.

Пример настройки для Elasticsearch:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration xmlns="http://www.arta.kz/xml/ns/ai"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://www.arta.kz/xml/ns/ai http://www.arta.kz/xml/ns/ai/index.xsd">
    <!-- URL доступа к серверу Elasticseach -->
    <url>http://localhost:9200/</url>
    <sortStringLength>300</sortStringLength>
    <forms>
        <!-- ... -->
    </forms>
    <files>
        <!-- ... -->
    </files>
    <docs>
        <!-- ... -->
    </docs>
</configuration>

Настройка количества реплик в Elasticsearch

Для каждой из индексируемых сущностей - форм, файлов и документов - репликацию в Elasticsearch можно настраивать отдельно. Эта настройка выполняется с помощью секций <shards-count> и <replicas-count> в файле конфигурации elasticConfiguration.xml:

  • <shards-count> регулирует количество шардов. По умолчанию установлено значение 1, изменять его не рекомендуется;

  • <replicas-count> регулирует количество реплик. Рекомендуется использовать значение равное количеству n-1, где n - количество нод в кластере. Если нод больше 4 - то n/2+1.

Пример файла конфигурации elasticConfiguration.xml:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration xmlns="http://www.arta.kz/xml/ns/ai"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://www.arta.kz/xml/ns/ai http://www.arta.kz/xml/ns/ai/index.xsd">
    <!-- ... -->
    <forms>
        <!-- ... -->
        <!-- Количество шардов. Рекомендуется использовать значение по-умолчанию -->
        <shards-count>1</shards-count>
        <!-- Количество Реплик. рекомендуется использовать значение равное количеству n-1 где n- количество нод в кластере. если нод больше 4 - то n/2+1 -->
        <replicas-count>1</replicas-count>
        <!-- ... -->
    </forms>
    <files>
        <!-- ... -->
        <shards-count>1</shards-count>
        <replicas-count>1</replicas-count>
    </files>
    <docs>
        <!-- ... -->
        <shards-count>1</shards-count>
        <replicas-count>1</replicas-count>
    </docs>
</configuration>

Более подробную информацию о кластере Elasticsearch можно получить здесь:

https://www.elastic.co/guide/en/elasticsearch/guide/current/replica-shards.html

https://www.elastic.co/guide/en/elasticsearch/guide/current/distributed-cluster.html