1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/bboss-elasticsearch-elasticsearch

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

BBoss — хороший Java-клиент для работы с Elasticsearch по протоколу REST. Он работает с Elasticsearch аналогично mybatis.

Требования к среде выполнения

  • JDK 1.8 и выше.
  • Elasticsearch версий 1.x, 2.X, 5.X, 6.X, 7.x, 8.x и выше.
  • Spring boot версий 1.x, 2.x и выше.

Для настройки среды выполнения и импорта зависимостей Maven можно обратиться к документации:

https://esdoc.bbossgroups.com/#/usedatatran-in-spring-boot

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

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

  1. Синхронная синхронизация с условием на основе прокрутки (org.frameworkset.elasticsearch.imp.ES2ESScrollTimestampDemo).
  2. Синхронная полная синхронизация без условий на основе прокрутки (org.frameworkset.elasticsearch.imp.ES2ESScrollAllTimestampDemo).

Инструмент поддерживает синхронизацию данных между Elasticsearch и Elasticsearch, а также между Elasticsearch и базой данных. Поддерживаются версии Elasticsearch от 1.x до 8.x. Также поддерживается импорт больших объёмов данных уровня PB.

Дополнительную информацию можно найти в документации:

https://esdoc.bbossgroups.com/#/db-es-tool

Импорт зависимостей Maven

<dependency>
  <groupId>com.bbossgroups.plugins</groupId>
  <artifactId>bboss-datatran-jdbc</artifactId>
  <version>7.2.0</version>
  <scope>compile</scope>
</dependency>

Сборка и развёртывание

Подготовка:

Необходимо создать версию для выпуска с использованием Gradle. Подробные инструкции по установке и настройке Gradle можно найти в документации:

https://esdoc.bbossgroups.com/#/bboss-build

Загрузка исходного кода:

Загрузите исходный код проекта с GitHub:

https://github.com/bbossgroups/elasticsearch-elasticsearch

Импортируйте проект в IDE, например, IDEA или Eclipse, и настройте логику импорта программы в соответствии со своими потребностями.

Если необходимо протестировать и отладить функцию импорта, запустите метод main класса ES2ESScrollTimestampDemo:

public class Dbdemo {
	public static void main(String[] args){

		ES2ESScrollTimestampDemo dbdemo = new ES2ESScrollTimestampDemo();
        		boolean dropIndice = true;//CommonLauncher.getBooleanAttribute("dropIndice",false);//同时指定了默认值
        
        		dbdemo.scheduleTimestampImportData(dropIndice);

	}
    .....
}

Настройте конфигурацию Elasticsearch в файле application.properties:

Elasticsearch-Elasticsearch\src\main\resources\application.properties

После завершения настройки можно приступить к отладке функции.

После успешного тестирования и отладки можно создать готовую к запуску версию:

Перейдите в командную строку в корневом каталоге Elasticsearch-Elasticsearch и выполните команду release.bat для создания упакованной версии.

Запуск:

Linux:

chmod +x restart.sh

./restart.sh

Windows: restart.bat

Настройка JVM:

Измените файл jvm.options, чтобы настроить размер памяти и другие параметры JVM:

-Xms1g

-Xmx1g

Настройка параметров запуска

При использовании elasticsearch-elasticsearch рекомендуется избегать постоянной упаковки и выпуска инструмента импорта данных во время процесса отладки. Вместо этого можно настроить некоторые параметры управления в файле запуска resources/application.properties и получить доступ к этим параметрам в коде:

#工具主程序
mainclass=org.frameworkset.elasticsearch.imp.ES2ESScrollTimestampDemo

# 参数配置
# 在代码中获取方法:CommonLauncher.getBooleanAttribute("dropIndice",false);//同时指定了默认值false
dropIndice=false

В коде можно получить параметр dropIndice следующим образом:

boolean dropIndice = CommonLauncher.getBooleanAttribute("dropIndice",false);//同时指定了默认值false

Также можно настроить другие параметры в файле resources/application.properties, такие как количество рабочих потоков, размер очереди ожидания и размер пакета обработки:

queueSize=50
workThreads=10
batchSize=20

И получить эти параметры в коде следующим образом:

int batchSize = CommonLauncher.getIntProperty("batchSize",10);//同时指定了默认值
int queueSize = CommonLauncher.getIntProperty("queueSize",50);//同时指定了默认值
int workThreads = CommonLauncher.getIntProperty("workThreads",10);//同时指定了默认值
importBuilder.setBatchSize(batchSize);
importBuilder.setQueue(queueSize);//设置批量导入线程池等待队列长度
importBuilder.setThreadCount(workThreads);//设置批量导имтпоедкачртеидкеллиянриасбтоочяитхелтьрноукдоовв数量

Техническая группа общения: 166471282

Официальный аккаунт WeChat: bbossgroup

GitHub Logo

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/bboss-elasticsearch-elasticsearch.git
git@api.gitlife.ru:oschina-mirror/bboss-elasticsearch-elasticsearch.git
oschina-mirror
bboss-elasticsearch-elasticsearch
bboss-elasticsearch-elasticsearch
master