Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›SQL

SQL JDBC

JDBC-драйвер SQL Elasticsearch — это богатый, полнофункциональный JDBC-драйвер для Elasticsearch. Это драйвер типа 4, что означает, что он является независимым от платформы, автономным, прямым драйвером к базе данных, написанным на чистом Java, который преобразует вызовы JDBC в SQL Elasticsearch.

Установка

JDBC-драйвер можно получить из:

Специальная страница
elastic.co предоставляет ссылки, обычно для ручных загрузок.
Зависимость Maven
Инструменты, совместимые с Maven, могут автоматически получить его в качестве зависимости:
<dependency>
  <groupId>org.elasticsearch.plugin</groupId>
  <artifactId>x-pack-sql-jdbc</artifactId>
  <version>7.17.28</version>
</dependency>

из Maven Central Repository, или из artifacts.elastic.co/maven, добавив его в список репозиториев:

<repositories>
  <repository>
    <id>elastic.co</id>
    <url>https://artifacts.elastic.co/maven</url>
  </repository>
</repositories>

Совместимость версий

Ваш драйвер должен быть совместим с версией вашего сервера Elasticsearch.

Версия драйвера не может быть новее версии сервера Elasticsearch. Например, сервер 7.10.0 не совместим с драйверами 7.17.28.

Версия сервера Elasticsearch Совместимые версии драйвера Пример

7.7.1-7.17.28

  • Такая же версия
  • Более ранняя версия 7.x, до 7.7.0.

Сервер 7.10.0 совместим с драйверами 7.7.0-7.10.0.

7.7.0 и более ранние версии

  • Такая же версия.

Сервер 7.6.1 совместим только с драйверами 7.6.1.

Настройка

Основной класс драйвера — org.elasticsearch.xpack.sql.jdbc.EsDriver. Обратите внимание, что драйвер реализует механизм JDBC 4.0 Service Provider, что означает, что он регистрируется автоматически, если доступен в пути к классам.

После регистрации драйвер понимает следующий синтаксис в качестве URL:

jdbc:[es|elasticsearch]://[[http|https]://]?[host[:port]]?/[prefix]?[\?[option=value]&]*
jdbc:[es|elasticsearch]://
Префикс. Обязательно.
[[http|https]://]
Тип HTTP-соединения. Возможные значения — http (по умолчанию) или https. Необязательно.
[host[:port]]
Хост (localhost по умолчанию) и порт (9200 по умолчанию). Необязательно.
[prefix]
Префикс (пустой по умолчанию). Обычно используется при размещении Elasticsearch под определенным путем. Необязательно.
[option=value]
Свойства для JDBC-драйвера. По умолчанию пустое значение. Необязательно.

Драйвер распознаёт следующие свойства:

Необходимые
timezone (временная зона JVM по умолчанию)
Временная зона, используемая драйвером в каждом соединении, указанная ID. Сильно рекомендуется её установить (например, UTC), так как временная зона JVM может отличаться, глобальна для всей JVM и не может быть легко изменена при работе под менеджером безопасности.
Сеть
connect.timeout (по умолчанию 30000)
Время ожидания соединения (в миллисекундах). Это максимальное время ожидания установления соединения с сервером.
network.timeout (по умолчанию 60000)
Время ожидания сети (в миллисекундах). Это максимальное время ожидания сети.
page.size (по умолчанию 1000)
Размер страницы (в записях). Количество результатов, возвращаемых сервером на страницу.
page.timeout (по умолчанию 45000)
Время ожидания страницы (в миллисекундах). Минимальный срок хранения курсора скролла на сервере. Запросы, требующие курсора скролла с состоянием на стороне сервера, могут завершиться ошибкой после этого времени ожидания. Следовательно, при прокрутке больших наборов результатов обработка page.size записей не должна занимать более page.timeout миллисекунд.
query.timeout (по умолчанию 90000)
Время ожидания запроса (в миллисекундах). Это максимальное время ожидания возврата результата запроса.

Базовая аутентификация

user
Имя пользователя базовой аутентификации
password
Пароль базовой аутентификации

SSL

ssl (по умолчанию false)
Включить SSL
ssl.keystore.location
Путь к файлу хранилища ключей (если используется)
ssl.keystore.pass
Пароль к хранилищу ключей
ssl.keystore.type (по умолчанию JKS)
Тип хранилища ключей. PKCS12 — распространённый альтернативный формат
ssl.truststore.location
Путь к файлу хранилища доверия
ssl.truststore.pass
Пароль к хранилищу доверия
ssl.truststore.type (по умолчанию JKS)
Тип хранилища доверия. PKCS12 — распространённый альтернативный формат
ssl.protocol(по умолчанию TLS)
Протокол SSL для использования

Прокси

proxy.http
Имя хоста прокси HTTP
proxy.socks
Имя хоста прокси SOCKS

Сопоставление

field.multi.value.leniency (по умолчанию true)
Будет ли драйвер использовать мягкий режим и возвращать первое значение (без гарантий относительно того, какое это значение — обычно первое в естественном порядке возрастания) для полей с несколькими значениями (true) или вызывать исключение.

Индекс

index.include.frozen (по умолчанию false)
Включать или нет замороженные индексы (замороженные индексы) в выполнении запроса (по умолчанию).

Кластер

catalog

Каталог (кластер) по умолчанию для запросов. Если не указано, запросы выполняются только на данных в локальном кластере.

[preview] Эта функциональность находится на стадии технического предварительного просмотра и может быть изменена или удалена в будущих выпусках. Elastic будет стремиться устранить любые проблемы, но функции на стадии технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA. См. поиск по нескольким кластерам.

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

validate.properties (по умолчанию true)
Если отключено, любые орфографические ошибки или нераспознанные свойства будут проигнорированы. При включении, если предоставленное свойство не распознано, будет выброшено исключение.

Для объединения всего этого, следующий URL:

jdbc:es://http://server:3456/?timezone=UTC&page.size=250

открывает соединение Elasticsearch SQL с server на порту 3456, устанавливая временную зону JDBC-соединения на UTC и размер страницы на 250 записей.

© 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/7.17/sql-jdbc.html

Spec-Zone.ru

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