# Использование redis в groovy скрипте

**URL:** <https://discuss.elastic.co/t/redis-groovy/40879>\
**Category:** Вопросы на русском языке\
**Created:** [February 3, 2016, 3:21pm UTC](https://discuss.elastic.co/t/redis-groovy/40879 "2016-02-03T15:21:26Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![hahander](https://avatars.discourse-cdn.com/v4/letter/h/b487fb/32.png) [@hahander](https://discuss.elastic.co/u/hahander)\
**Post date:** [February 3, 2016, 3:21pm UTC](https://discuss.elastic.co/t/redis-groovy/40879/1 "2016-02-03T15:21:26Z")

</div>

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

Нашел в сети такой вот пример, но он не подтягивается тем groovy который идет в пакете elasticsearch.  
Райзит `unable to resolve class Jedis`

```
@Grapes([
  @Grab('redis.clients:jedis:2.0.0'),
  @GrabConfig(systemClassLoader=true)
])
import redis.clients.jedis.*;
Jedis redis = new Jedis("localhost");

```

Буду благодарен любой помощи по теме. Спасибо.

UPD.

Либо иные способы, которые позволяют делать импорт классов, которые не входят в состав elastichsearch.groovy пакета.

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [February 3, 2016, 8:45pm UTC](https://discuss.elastic.co/t/redis-groovy/40879/2 "2016-02-03T20:45:03Z")

</div>

Я думаю, вам надо переключиться с groovy на native script. Даже если вам удасться подключить библиотеку (что не тривиально в последних версиях elasticsearch), с groovy вы очень быстро столкнетесь c другими проблемами - например, как избежать нового соединения с redis-ом для каждой записи и т.д.

---

<div class="post-metadata">

**Author:** ![hahander](https://avatars.discourse-cdn.com/v4/letter/h/b487fb/32.png) [@hahander](https://discuss.elastic.co/u/hahander)\
**Post date:** [February 3, 2016, 8:54pm UTC](https://discuss.elastic.co/t/redis-groovy/40879/3 "2016-02-03T20:54:34Z")

</div>

Спасибо за ответ. Если вы располагаете иноформацией: на сколько сложна, в последних версиях, процедура подключения сторонней библиотеки в native script?(не сильно силен в Java, от этого и выбор пал на groovy изначально). Возможно у вас есть какие-то рабочие примеры таких интеграций. Просто исходя из моих наблюдений - это все не так просто как казалось изначально и информации в сети о таких интеграциях тоже не сильно много. в основном различные вариации того примера, который предоставлен на официальном сайте(стандартный пакет, скажем так)

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [February 5, 2016, 4:46pm UTC](https://discuss.elastic.co/t/redis-groovy/40879/4 "2016-02-05T16:46:42Z")

</div>

С native script - все просто. Сторонняя библиотека там просто часть плагина. Примеры есть, но они зависят от того с какой версии elasticsearch ваш скрипт разрабатываете. О какой версии мы говорим?

Процедура подключения сторонней библиотеки в elasticsearch без плагина описана тут - [https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting-security.html#\_fix\_the\_security\_problem](https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting-security.html#_fix_the_security_problem) Но это временное решение, и я бы не стал его использовать для новых проектов.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 1:49pm UTC](https://discuss.elastic.co/t/redis-groovy/40879/5 "2017-07-06T13:49:36Z")

</div>

Closed on July 6, 2017, 1:49pm UTC


