Это многостраничный печатный вид этого раздела. Нажмите что бы печатать.

Вернуться к обычному просмотру страницы.

Установка плагинов

OpenSearch включает в себя ряд плагинов, которые добавляют функции и возможности к основной платформе.

Доступные вам плагины зависят от того, как был установлен OpenSearch и какие плагины были добавлены или удалены впоследствии. Например, минимальная дистрибуция OpenSearch включает только основные функции, такие как индексация и поиск. Использование минимальной дистрибуции OpenSearch полезно, когда вы работаете в тестовой среде, имеете собственные плагины или планируете интегрировать OpenSearch с другими сервисами.

Стандартная дистрибуция OpenSearch включает гораздо больше плагинов, предлагающих значительно больше функциональности. Вы можете выбрать добавление дополнительных плагинов или удалить любые плагины, которые вам не нужны.

Для получения списка доступных плагинов смотрите Доступные плагины.

Для корректной работы плагина с OpenSearch он может запрашивать определенные разрешения в процессе установки. Ознакомьтесь с запрашиваемыми разрешениями и действуйте соответственно. Важно понимать функциональность плагина перед его установкой. При выборе плагина, предоставленного сообществом, убедитесь, что источник надежен и заслуживает доверия.

Управление плагинами

Для управления плагинами в OpenSearch вы можете использовать инструмент командной строки под названием opensearch-plugin. Этот инструмент позволяет выполнять следующие действия:

  • Список установленных плагинов.
  • Установка плагинов.
  • Удаление установленного плагина.

Вы можете вывести текст справки, передав -h или --help. В зависимости от конфигурации вашего хоста, вам также может потребоваться запускать команду с привилегиями sudo.

Если вы запускаете OpenSearch в контейнере Docker, плагины должны быть установлены, удалены и настроены путем изменения образа Docker. Для получения дополнительной информации смотрите Работа с плагинами.

Список

Используйте list, чтобы увидеть список плагинов, которые уже были установлены.

ИСПОЛЬЗОВАНИЕ

bin/opensearch-plugin list

ПРИМЕР

$ ./opensearch-plugin list
opensearch-alerting
opensearch-anomaly-detection
opensearch-asynchronous-search
opensearch-cross-cluster-replication
opensearch-geospatial
opensearch-index-management
opensearch-job-scheduler
opensearch-knn
opensearch-ml
opensearch-notifications
opensearch-notifications-core
opensearch-observability
opensearch-performance-analyzer
opensearch-reports-scheduler
opensearch-security
opensearch-sql

Список (с помощью CAT API)

Вы также можете перечислить установленные плагины, используя CAT API.

ИСПОЛЬЗОВАНИЕ

GET _cat/plugins

ПРИМЕР ОТВЕТА

opensearch-node1 opensearch-alerting                  2.0.1.0
opensearch-node1 opensearch-anomaly-detection         2.0.1.0
opensearch-node1 opensearch-asynchronous-search       2.0.1.0
opensearch-node1 opensearch-cross-cluster-replication 2.0.1.0
opensearch-node1 opensearch-index-management          2.0.1.0
opensearch-node1 opensearch-job-scheduler             2.0.1.0
opensearch-node1 opensearch-knn                       2.0.1.0
opensearch-node1 opensearch-ml                        2.0.1.0
opensearch-node1 opensearch-notifications             2.0.1.0
opensearch-node1 opensearch-notifications-core        2.0.1.0

Установка

Существует три способа установки плагинов с помощью инструмента opensearch-plugin:

  1. Установить плагин по имени.
  2. Установить плагин из zip-файла.
  3. Установить плагин, используя координаты Maven.

Установка плагина по имени

Вы можете установить плагины, которые еще не предустановлены в вашей установке, используя имя плагина. Для получения списка плагинов, которые могут не быть предустановленными, смотрите Дополнительные плагины.

ИСПОЛЬЗОВАНИЕ

bin/opensearch-plugin install <plugin-name>

ПРИМЕР

$ sudo ./opensearch-plugin install analysis-icu
-> Установка analysis-icu
-> Загрузка analysis-icu из opensearch
[=================================================] 100%   
-> Установлен analysis-icu с именем папки analysis-icu

Установка плагина из zip-файла

Вы можете установить удаленные zip-файлы, заменив <zip-file> на URL размещенного файла. Инструмент поддерживает загрузку только по протоколам HTTP/HTTPS. Для локальных zip-файлов замените <zip-file> на file:, за которым следует абсолютный или относительный путь к zip-файлу плагина, как показано во втором примере ниже.

ИСПОЛЬЗОВАНИЕ

bin/opensearch-plugin install <zip-file>

Пример

# Zip file is hosted on a remote server - in this case, Maven central repository.
$ sudo ./opensearch-plugin install https://repo1.maven.org/maven2/org/opensearch/plugin/opensearch-anomaly-detection/2.2.0.0/opensearch-anomaly-detection-2.2.0.0.zip
-> Installing https://repo1.maven.org/maven2/org/opensearch/plugin/opensearch-anomaly-detection/2.2.0.0/opensearch-anomaly-detection-2.2.0.0.zip
-> Downloading https://repo1.maven.org/maven2/org/opensearch/plugin/opensearch-anomaly-detection/2.2.0.0/opensearch-anomaly-detection-2.2.0.0.zip
[=================================================] 100%   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission accessClassInPackage.sun.misc
* java.lang.RuntimePermission accessDeclaredMembers
* java.lang.RuntimePermission getClassLoader
* java.lang.RuntimePermission setContextClassLoader
* java.lang.reflect.ReflectPermission suppressAccessChecks
* java.net.SocketPermission * connect,resolve
* javax.management.MBeanPermission org.apache.commons.pool2.impl.GenericObjectPool#-[org.apache.commons.pool2:name=pool,type=GenericObjectPool] registerMBean
* javax.management.MBeanPermission org.apache.commons.pool2.impl.GenericObjectPool#-[org.apache.commons.pool2:name=pool,type=GenericObjectPool] unregisterMBean
* javax.management.MBeanServerPermission createMBeanServer
* javax.management.MBeanTrustPermission register
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.

Continue with installation? [y/N]y
-> Installed opensearch-anomaly-detection with folder name opensearch-anomaly-detection

# Zip file in a local directory.
$ sudo ./opensearch-plugin install file:/home/user/opensearch-anomaly-detection-2.2.0.0.zip
-> Installing file:/home/user/opensearch-anomaly-detection-2.2.0.0.zip
-> Downloading file:/home/user/opensearch-anomaly-detection-2.2.0.0.zip
[=================================================] 100%   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission accessClassInPackage.sun.misc
* java.lang.RuntimePermission accessDeclaredMembers
* java.lang.RuntimePermission getClassLoader
* java.lang.RuntimePermission setContextClassLoader
* java.lang.reflect.ReflectPermission suppressAccessChecks
* java.net.SocketPermission * connect,resolve
* javax.management.MBeanPermission org.apache.commons.pool2.impl.GenericObjectPool#-[org.apache.commons.pool2:name=pool,type=GenericObjectPool] registerMBean
* javax.management.MBeanPermission org.apache.commons.pool2.impl.GenericObjectPool#-[org.apache.commons.pool2:name=pool,type=GenericObjectPool] unregisterMBean
* javax.management.MBeanServerPermission createMBeanServer
* javax.management.MBeanTrustPermission register
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.

Continue with installation? [y/N]y
-> Installed opensearch-anomaly-detection with folder name opensearch-anomaly-detection

Установка плагина, используя координаты Maven

Инструмент opensearch-plugin install также позволяет вам указывать координаты Maven для доступных артефактов и версий, размещенных на Maven Central. Инструмент анализирует предоставленные вами координаты Maven и формирует URL. В результате хост должен иметь возможность напрямую подключаться к сайту Maven Central. Установка плагина завершится неудачей, если вы передадите координаты прокси-серверу или локальному репозиторию.

ИСПОЛЬЗОВАНИЕ

bin/opensearch-plugin install <groupId>:<artifactId>:<version>

ПРИМЕР

$ sudo ./opensearch-plugin install org.opensearch.plugin:opensearch-anomaly-detection:2.2.0.0
-> Installing org.opensearch.plugin:opensearch-anomaly-detection:2.2.0.0
-> Downloading org.opensearch.plugin:opensearch-anomaly-detection:2.2.0.0 from maven central
[=================================================] 100%   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission accessClassInPackage.sun.misc
* java.lang.RuntimePermission accessDeclaredMembers
* java.lang.RuntimePermission getClassLoader
* java.lang.RuntimePermission setContextClassLoader
* java.lang.reflect.ReflectPermission suppressAccessChecks
* java.net.SocketPermission * connect,resolve
* javax.management.MBeanPermission org.apache.commons.pool2.impl.GenericObjectPool#-[org.apache.commons.pool2:name=pool,type=GenericObjectPool] registerMBean
* javax.management.MBeanPermission org.apache.commons.pool2.impl.GenericObjectPool#-[org.apache.commons.pool2:name=pool,type=GenericObjectPool] unregisterMBean
* javax.management.MBeanServerPermission createMBeanServer
* javax.management.MBeanTrustPermission register
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.

Continue with installation? [y/N]y
-> Installed opensearch-anomaly-detection with folder name opensearch-anomaly-detection

Перезапустите узел OpenSearch после установки плагина.

Установка нескольких плагинов

Несколько плагинов можно установить за одну команду.

ИСПОЛЬЗОВАНИЕ

bin/opensearch-plugin install <plugin-name> <plugin-name> ... <plugin-name>

ПРИМЕР

$ sudo ./opensearch-plugin install analysis-nori repository-s3

Удаление

Вы можете удалить плагин, который уже был установлен, с помощью опции remove.

ИСПОЛЬЗОВАНИЕ

bin/opensearch-plugin remove <plugin-name>

ПРИМЕР

$ sudo ./opensearch-plugin remove opensearch-anomaly-detection
-> Удаление [opensearch-anomaly-detection]...

После удаления плагина перезапустите узел OpenSearch.

Пакетный режим

При установке плагина, который требует дополнительных привилегий, не включенных по умолчанию, плагин запросит у вас подтверждение необходимых привилегий. Чтобы предоставить все запрашиваемые привилегии, используйте пакетный режим, чтобы пропустить запрос на подтверждение.

Чтобы принудительно включить пакетный режим при установке плагинов, добавьте опцию -b или --batch:

bin/opensearch-plugin install --batch <plugin-name>

Доступные плагины

OpenSearch предоставляет несколько встроенных плагинов, которые доступны для немедленного использования со всеми дистрибуциями OpenSearch, за исключением минимальной дистрибуции. Дополнительные плагины доступны, но их необходимо установить отдельно, используя один из вариантов установки.

Встроенные плагины

Следующие плагины входят во все дистрибуции OpenSearch, за исключением минимальной дистрибуции. Если вы используете минимальную дистрибуцию, вы можете добавить эти плагины, используя один из методов установки.

Название плагина Репозиторий Самая ранняя доступная версия
Alerting opensearch-alerting 1.0.0
Anomaly Detection opensearch-anomaly-detection 1.0.0
Asynchronous Search opensearch-asynchronous-search 1.0.0
Cross Cluster Replication opensearch-cross-cluster-replication 1.1.0
Custom Codecs opensearch-custom-codecs 2.10.0
Flow Framework flow-framework 2.12.0
Notebooks opensearch-notebooks 1.0.0 до 1.1.0
Notifications notifications 2.0.0
Reports Scheduler opensearch-reports-scheduler 1.0.0
Geospatial opensearch-geospatial 2.2.0
Index Management opensearch-index-management 1.0.0
Job Scheduler opensearch-job-scheduler 1.0.0
k-NN opensearch-knn 1.0.0
Learning to Rank opensearch-ltr 2.19.0
ML Commons opensearch-ml 1.3.0
Skills opensearch-skills 2.12.0
Neural Search neural-search 2.4.0
Observability opensearch-observability 1.2.0
Performance Analyzer opensearch-performance-analyzer 1.0.0
Security opensearch-security 1.0.0
Security Analytics opensearch-security-analytics 2.4.0
SQL opensearch-sql 1.0.0
Learning to Rank Base opensearch-learning-to-rank-base 2.19.0
Remote Metadata SDK opensearch-remote-metadata-sdk 2.19.0
Query Insights query-insights 2.16.0
System Templates opensearch-system-templates 2.17.0
User Behavior Insights ubi 3.0.0
Search Relevance search-relevance 3.1.0

Примечания:

  1. Dashboard Notebooks были объединены с плагином Observability с выходом OpenSearch 1.2.0.
  2. Performance Analyzer недоступен на Windows.

СКАЧИВАНИЕ ВСТРОЕННЫХ ПЛАГИНОВ ДЛЯ ОФЛАЙН-УСТАНОВКИ

Каждый встроенный плагин можно скачать и установить оффлайн из zip-файла.

URL для соответствующего плагина можно найти в файле manifest.yml, который расположен в корневом каталоге извлеченного пакета.

Основные плагины

Основной (или нативный) плагин в OpenSearch — это плагин, который находится в репозитории основного движка OpenSearch. Эти плагины тесно интегрированы с движком OpenSearch, версионируются вместе с основными релизами и по умолчанию не включены в стандартную дистрибуцию OpenSearch.

СКАЧИВАНИЕ ОСНОВНЫХ ПЛАГИНОВ ДЛЯ ОФЛАЙН-УСТАНОВКИ

Каждый из основных плагинов в этом списке можно скачать и установить оффлайн из zip-файла, используя официальный шаблон URL репозитория плагинов:

https://artifacts.opensearch.org/releases/plugins/<plugin-name>/<version>/<plugin-name>-<version>.zip

Где <plugin-name> соответствует имени встроенного плагина (например, analysis-icu). <version> должен соответствовать версии дистрибуции OpenSearch (например, 2.19.1).

Например, используйте следующий URL для скачивания дистрибуции встроенного плагина analysis-icu для версии OpenSearch 2.19.1:

https://artifacts.opensearch.org/releases/plugins/analysis-icu/2.19.1/analysis-icu-2.19.1.zip

Дополнительные плагины

Существует множество других плагинов, доступных помимо тех, что предоставлены в стандартной дистрибуции. Эти дополнительные плагины были разработаны разработчиками OpenSearch или членами сообщества OpenSearch. Для получения списка дополнительных плагинов, которые вы можете установить, смотрите Дополнительные плагины.

Совместимость плагинов

Вы можете указать совместимость плагина с определенной версией OpenSearch в файле plugin-descriptor.properties. Например, плагин с следующим свойством совместим только с OpenSearch 2.3.0:

opensearch.version=2.3.0

В качестве альтернативы вы можете указать диапазон совместимых версий OpenSearch, установив свойство dependencies в файле plugin-descriptor.properties в одну из следующих нотаций:

  • dependencies={ opensearch: "2.3.0" }: Плагин совместим только с версией OpenSearch 2.3.0.
  • dependencies={ opensearch: "=2.3.0" }: Плагин совместим только с версией OpenSearch 2.3.0.
  • dependencies={ opensearch: "~2.3.0" }: Плагин совместим со всеми версиями от 2.3.0 до следующей минорной версии, в данном примере — 2.4.0 (исключительно).
  • dependencies={ opensearch: "^2.3.0" }: Плагин совместим со всеми версиями от 2.3.0 до следующей мажорной версии, в данном примере — 3.0.0 (исключительно).

Вы можете указать только одно из свойств opensearch.version или dependencies.

Связанные ссылки

1 - Дополнительные плагины

Существует множество других плагинов, доступных помимо тех, что предоставлены в стандартной дистрибуции OpenSearch.

Эти дополнительные плагины были разработаны разработчиками OpenSearch или членами сообщества OpenSearch. Хотя невозможно предоставить исчерпывающий список (поскольку многие плагины не поддерживаются в репозитории OpenSearch на GitHub), ниже приведены некоторые из плагинов, доступных в каталоге OpenSearch/plugins на GitHub, которые можно установить с помощью одного из вариантов установки, например, используя команду bin/opensearch-plugin install <plugin-name>.

Название плагина Самая ранняя доступная версия
analysis-icu 1.0.0
analysis-kuromoji 1.0.0
analysis-nori 1.0.0
analysis-phonenumber 2.18.0
analysis-phonetic 1.0.0
analysis-smartcn 1.0.0
analysis-stempel 1.0.0
analysis-ukrainian 1.0.0
discovery-azure-classic 1.0.0
discovery-ec2 1.0.0
discovery-gce 1.0.0
ingest-attachment 1.0.0
ingestion-kafka 3.0.0
ingestion-kinesis 3.0.0
mapper-annotated-text 1.0.0
mapper-murmur3 1.0.0
mapper-size 1.0.0
query-insights 2.12.0
repository-azure 1.0.0
repository-gcs 1.0.0
repository-hdfs 1.0.0
repository-s3 1.0.0
store-smb 1.0.0
transport-grpc 3.0.0

2 - mapper-size

Плагин mapper-size позволяет использовать поле _size в индексах OpenSearch. Поле _size хранит размер каждого документа в байтах.

Установка плагина

Вы можете установить плагин mapper-size, используя следующую команду:

./bin/opensearch-plugin install mapper-size

Примеры

После запуска кластера вы можете создать индекс с включенным отображением размера, индексировать документ и выполнять поиск по документам, как показано в следующих примерах.

Создание индекса с включенным отображением размера

curl -XPUT example-index -H "Content-Type: application/json" -d '{
  "mappings": {
    "_size": {
      "enabled": true
    },
    "properties": {
      "name": {
        "type": "text"
      },
      "age": {
        "type": "integer"
      }
    }
  }
}'

Индексация документа

curl -XPOST example-index/_doc -H "Content-Type: application/json" -d '{
  "name": "John Doe",
  "age": 30
}'

Запрос к индексу

curl -XGET example-index/_search -H "Content-Type: application/json" -d '{
  "query": {
    "match_all": {}
  },
  "stored_fields": ["_size", "_source"]
}'

Результаты запроса

В следующем примере поле _size включено в результаты запроса и показывает размер индексированного документа в байтах:

{
  "took": 2,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 1,
      "relation": "eq"
    },
    "max_score": 1.0,
    "hits": [
      {
        "_index": "example_index",
        "_id": "Pctw0I8BLto8I5f_NLKK",
        "_score": 1.0,
        "_size": 37,
        "_source": {
          "name": "John Doe",
          "age": 30
        }
      }
    ]
  }
}

3 - ingest-attachment

Плагин ingest-attachment позволяет OpenSearch извлекать содержимое и другую информацию из файлов с использованием библиотеки извлечения текста Apache Tika.

Поддерживаемые форматы документов включают PPT, PDF, RTF, ODF и многие другие (см. Поддерживаемые форматы документов Tika).

Входное поле должно быть закодировано в формате base64.

Установка плагина

Установите плагин ingest-attachment, используя следующую команду:

./bin/opensearch-plugin install ingest-attachment

Опции процессора вложений

Название Обязательный Значение по умолчанию Описание
field Да Имя поля, в котором будет храниться извлеченное содержимое.

Пример использования плагина ingest-attachment

Следующие шаги покажут вам, как начать работу с плагином ingest-attachment.

Шаг 1: Создайте индекс для хранения ваших вложений

Следующая команда создает индекс для хранения ваших вложений:

PUT /example-attachment-index
{
  "mappings": {
    "properties": {}
  }
}

Шаг 2: Создайте конвейер

Следующая команда создает конвейер, содержащий процессор вложений:

PUT _ingest/pipeline/attachment
{
  "description" : "Извлечение информации о вложениях",
  "processors" : [
    {
      "attachment" : {
        "field" : "data"
      }
    }
  ]
}

Шаг 3: Сохраните вложение

Преобразуйте вложение в строку base64, чтобы передать его как данные. В этом примере команда base64 преобразует файл lorem.rtf:

base64 lorem.rtf

В качестве альтернативы вы можете использовать Node.js для чтения файла в формате base64, как показано в следующих командах:

import * as fs from "node:fs/promises";
import path from "node:path";

const filePath = path.join(import.meta.dirname, "lorem.rtf");
const base64File = await fs.readFile(filePath, { encoding: "base64" });

console.log(base64File);

Файл .rtf содержит следующий текст в формате base64:

Lorem ipsum dolor sit amet: e1xydGYxXGFuc2kNCkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0DQpccGFyIH0=.

Теперь вы можете сохранить вложение, используя следующую команду:

PUT example-attachment-index/_doc/lorem_rtf?pipeline=attachment
{
  "data": "e1xydGYxXGFuc2kNCkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0DQpccGFyIH0="
}

Результаты запроса

После обработки вложения вы можете выполнять поиск по данным, используя поисковые запросы, как показано в следующем примере:

POST example-attachment-index/_search
{
  "query": {
    "match": {
      "attachment.content": "ipsum"
    }
  }
}

OpenSearch ответит следующим образом:

{
  "took": 5,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 1,
      "relation": "eq"
    },
    "max_score": 1.1724279,
    "hits": [
      {
        "_index": "example-attachment-index",
        "_id": "lorem_rtf",
        "_score": 1.1724279,
        "_source": {
          "data": "e1xydGYxXGFuc2kNCkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0DQpccGFyIH0=",
          "attachment": {
            "content_type": "application/rtf",
            "language": "pt",
            "content": "Lorem ipsum dolor sit amet",
            "content_length": 28
          }
        }
      }
    ]
  }
}

Извлеченная информация

Следующие поля могут быть извлечены с помощью плагина:

  • content
  • language
  • date
  • title
  • author
  • keywords
  • content_type
  • content_length

Чтобы извлечь только подмножество этих полей, определите их в свойствах процессора конвейера, как показано в следующем примере:

PUT _ingest/pipeline/attachment
{
  "description" : "Извлечение информации о вложениях",
  "processors" : [
    {
      "attachment" : {
        "field" : "data",
        "properties": ["content", "title", "author"]
      }
    }
  ]
}

Ограничение извлекаемого содержимого

Чтобы предотвратить извлечение слишком большого количества символов и перегрузку памяти узла, значение по умолчанию составляет 100_000. Вы можете изменить это значение, используя настройку indexed_chars. Например, вы можете использовать -1 для неограниченного количества символов, но необходимо убедиться, что у вас достаточно памяти HEAP на узле OpenSearch для извлечения содержимого больших документов.

Вы также можете определить этот лимит для каждого документа, используя поле запроса indexed_chars_field. Если документ содержит indexed_chars_field, оно перезапишет настройку indexed_chars, как показано в следующем примере:

PUT _ingest/pipeline/attachment
{
  "description" : "Извлечение информации о вложениях",
  "processors" : [
    {
      "attachment" : {
        "field" : "data",
        "indexed_chars" : 10,
        "indexed_chars_field" : "max_chars"
      }
    }
  ]
}

С настроенным конвейером вложений вы можете извлечь 10 символов по умолчанию, не указывая max_chars в запросе, как показано в следующем примере:

PUT example-attachment-index/_doc/lorem_rtf?pipeline=attachment
{
  "data": "e1xydGYxXGFuc2kNCkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0DQpccGFyIH0="
}

В качестве альтернативы вы можете изменить max_chars для каждого документа, чтобы извлечь до 15 символов, как показано в следующем примере:

PUT example-attachment-index/_doc/lorem_rtf?pipeline=attachment
{
  "data": "e1xydGYxXGFuc2kNCkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0DQpccGFyIH0=",
  "max_chars": 15
}