BBoss — хороший Java-клиент для работы с Elasticsearch по протоколу REST. Он работает с Elasticsearch аналогично mybatis.
Для настройки среды выполнения и импорта зависимостей Maven можно обратиться к документации:
https://esdoc.bbossgroups.com/#/usedatatran-in-spring-boot
С помощью этого инструмента можно быстро написать, упаковать и опубликовать инструмент для импорта данных, который будет работать в контейнере. Инструмент включает два готовых примера:
Инструмент поддерживает синхронизацию данных между Elasticsearch и Elasticsearch, а также между Elasticsearch и базой данных. Поддерживаются версии Elasticsearch от 1.x до 8.x. Также поддерживается импорт больших объёмов данных уровня PB.
Дополнительную информацию можно найти в документации:
https://esdoc.bbossgroups.com/#/db-es-tool
<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);//设置批量导имтпоедкачртеидкеллиянриасбтоочяитхелтьрноукдоовв数量
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )