Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›Обработка контента с помощью коннекторов Elasticsearch ›Справочник по коннекторам

Справочник по коннектору Redis

Подключение к Redis разработано с использованием фреймворка Python для подключений к Elastic и доступно как самостоятельное самостоятельное подключение. Просмотрите исходный код для этого подключения (ветка 8.17, совместимая с Elastic 8.17).

Доступность и предварительные требования

Это подключение было представлено в Elastic 8.13.0 и доступно как самостоятельное самостоятельное подключение.

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

  • Запустить службу подключений из исходного кода. Используйте этот вариант, если вы комфортно работаете с Python и хотите быстро итерировать локально.
  • Запустить службу подключений в Docker. Используйте этот вариант, если вы хотите развернуть подключения на сервере или использовать платформу оркестрации контейнеров.

Это подключение находится в техническом предварительном просмотре и может быть изменено. Дизайн и код менее зрелые, чем официальные функции GA, и предоставляются как есть без каких-либо гарантий. Функции технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA.

Использование

Чтобы настроить это подключение в пользовательском интерфейсе, выберите плитку Redis при создании нового подключения в Поиск → Подключения.

Для дополнительных операций см. Пользовательский интерфейс подключений в Kibana.

Развертывание с Docker

Вы можете развернуть подключение к Redis как самостоятельное подключение с помощью Docker. Следуйте этим инструкциям.

Шаг 1: Скачать файл образца конфигурации

Скачайте файл образца конфигурации. Вы можете сделать это вручную или выполнить следующую команду:

curl https://raw.githubusercontent.com/elastic/connectors/main/config.yml.example --output ~/connectors-config/config.yml

Не забудьте обновить значение аргумента --output, если имя вашей директории отличается или вы хотите использовать другое имя файла конфигурации.

Шаг 2: Обновить файл конфигурации для вашего самостоятельного подключения

Обновите файл конфигурации следующими настройками, чтобы соответствовать вашей среде:

  • elasticsearch.host
  • elasticsearch.api_key
  • connectors

Если вы запускаете службу подключения по отношению к Docker-версии Elasticsearch и Kibana, ваш файл конфигурации будет выглядеть так:

# When connecting to your cloud deployment you should edit the host value
elasticsearch.host: http://host.docker.internal:9200
elasticsearch.api_key: <ELASTICSEARCH_API_KEY>

connectors:
  -
    connector_id: <CONNECTOR_ID_FROM_KIBANA>
    service_type: redis
    api_key: <CONNECTOR_API_KEY_FROM_KIBANA> # Optional. If not provided, the connector will use the elasticsearch.api_key instead

Использование elasticsearch.api_key является рекомендуемым методом аутентификации. Однако вы также можете использовать elasticsearch.username и elasticsearch.password для аутентификации с вашим экземпляром Elasticsearch.

Примечание: Вы можете изменить другие значения по умолчанию, просто раскомментировав определённые настройки в файле конфигурации и изменив их значения.

Шаг 3: Запустить Docker образ

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

docker run \
-v ~/connectors-config:/config \
--network "elastic" \
--tty \
--rm \
docker.elastic.co/enterprise-search/elastic-connectors:8.17.3 \
/app/bin/elastic-ingest \
-c /config/config.yml

Дополнительные сведения см. в DOCKER.md в репозитории elastic/connectors.

Найдите все доступные Docker образы в официальном репозитории.

У нас также есть быстрый старт самостоятельного варианта с использованием Docker Compose, чтобы вы могли сразу запустить все необходимые службы: Elasticsearch, Kibana и службу подключений. Дополнительную информацию см. в этом README в репозитории elastic/connectors.

Конфигурация

host (обязательно)

IP-адрес вашего сервера/облака Redis. Примеры:

  • 127.0.0.1
  • redis-12345.us-east-1.ec2.cloud.redislabs.com
port (обязательно)

Порт, на котором размещен экземпляр сервера/облака Redis. Пример:

  • 6379
username (необязательно)

Имя пользователя вашего сервера/облака Redis. Пример:

  • default
password (необязательно)

Пароль для вашего экземпляра сервера/облака Redis. Пример:

  • changeme
database (обязательно)

Список индексов баз данных для вашего сервера/облака Redis. * означает получение данных из всех баз данных. Примеры:

  • 0,1,2
  • *

    Это поле игнорируется при использовании расширенных правил синхронизации.

ssl_enabled
Включение использования SSL/TLS. Отключено по умолчанию.
mutual_tls_enabled
Включение использования безопасного взаимного SSL/TLS. Убедитесь, что ваше развертывание Redis поддерживает взаимные SSL/TLS соединения. Отключено по умолчанию. Зависит от ssl_enabled.
tls_certfile
Указывает сертификат от Центра выдачи сертификатов. Значение сертификата используется для проверки сертификата, представленного экземпляром Redis. Зависит от mutual_tls_enabled.
tls_keyfile
Указывает приватный ключ клиента. Значение ключа используется для проверки подключения к экземпляру Redis. Зависит от mutual_tls_enabled.

Документы и синхронизация

Подключение синхронизирует следующие объекты и сущности:

  • КЛЮЧИ и ЗНАЧЕНИЯ каждого индекса базы данных
  • Разрешения не синхронизируются. Все документы, индексированные в развертывании Elastic, будут видны всем пользователям с доступом к соответствующему индексу Elasticsearch.

Правила синхронизации

Основные правила синхронизации одинаковы для всех подключений и доступны по умолчанию.

Расширенные правила синхронизации

Расширенные правила синхронизации определяются с помощью JSON-фрагмента DSL, специфичного для источника.

Используйте расширенные правила синхронизации для фильтрации данных в источнике Redis без необходимости индексирования всех данных в Elasticsearch.

Они принимают следующие параметры:

  1. database: Укажите индекс базы данных Redis как целочисленное значение.
  2. key_pattern: 2. key_pattern: Шаблон для поиска ключей в Redis.
  3. type: Тип ключа для Redis.

    Поддерживаемые значения:

    • HASH
    • LIST
    • SET
    • STREAM
    • STRING
    • ZSET

Укажите хотя бы один из следующих параметров: key_pattern или type, или оба.

Примеры расширенных правил синхронизации
Пример 1

Извлечь записи базы данных, где ключи начинаются с alpha:

[
  {
    "database": 0,
    "key_pattern": "alpha*"
  }
]
Пример 2

Извлечь записи базы данных с точным совпадением, указав полное имя ключа:

[
  {
    "database": 0,
    "key_pattern": "alpha"
  }
]
Пример 3

Извлечь записи базы данных, где ключи начинаются с test1, test2 или test3:

[
  {
    "database": 0,
    "key_pattern": "test[123]"
  }
Пример 4

Исключить записи базы данных, где ключи начинаются с test1, test2 или test3:

[
  {
    "database": 0,
    "key_pattern": "test[^123]"
  }
]
Пример 5

Извлечь все записи базы данных:

[
  {
    "database": 0,
    "key_pattern": "*"
  }
]
Пример 6

Получить все записи базы данных, где тип равен SET:

[
  {
    "database": 0,
    "key_pattern": "*",
    "type": "SET"
  }
]
Пример 7

Получить записи базы данных, где тип равен SET:

[
  {
    "database": 0,
    "type": "SET"
  }
]

Операции клиента коннектора

Конечное тестирование

Фреймворк коннектора позволяет операторам запускать функциональные тесты на реальном источнике данных, используя Docker Compose. Для запуска этого теста не требуется запущенный экземпляр Elasticsearch или Redis.

Для получения более подробной информации обратитесь к разделу Тестирование коннектора.

Для выполнения конечного тестирования коннектора Redis запустите следующую команду:

$ make ftest NAME=redis

Для ускорения тестов добавьте флаг DATA_SIZE=small:

make ftest NAME=redis DATA_SIZE=small

По умолчанию, DATA_SIZE=MEDIUM.

Известные проблемы

  • Время последнего изменения недоступно при получении ключей/значений из базы данных Redis. В результате все объекты индексируются каждый раз при выполнении запроса правила расширенной синхронизации.

Обратитесь к Известные проблемы для просмотра списка известных проблем всех коннекторов.

Отладка

См. Отладку.

Безопасность

См. Безопасность.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/es-connectors-redis.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API