BBoss — это хороший Java-клиент REST для Elasticsearch. Он работает с Elasticsearch в стиле MyBatis.
Требования JDK: JDK 1.8+
Требования версий Elasticsearch: 1.x, 2.x, 5.x, 6.x, 8.x, +
Требования версий Spring Boot: 1.x, 2.x, +
Используя приложение, входящее в этот пример, можно быстро создать, собрать и запустить инструмент для импорта данных.
Поддерживаемые базы данных:
Поддерживаемые версии Elasticsearch: 1.x, 2.x, 5.x, 6.x, 7.x, 8.x, +
Поддержка массового импорта данных PB уровня
<dependency>
<groupId>com.bbossgroups.plugins</groupId>
<artifactId>bboss-datatran-mongodb</artifactId>
<version>7.2.0</version>
<scope>compile</scope>
</dependency>
Необходимо использовать Gradle для создания выпуска, документация по установке и конфигурации Gradle:
https://esdoc.bbossgroups.com/#/bboss-build
https://github.com/bbossgroups/mongodb-elasticsearch
Скачайте исходный код проекта с указанной выше ссылки, затем импортируйте его в IntelliJ IDEA или Eclipse, и согласно вашим требованиям, измените логику импорта программы.
org.frameworkset.elasticsearch.imp.Mongodb2ESdemo
Если требуется тестирование и отладка функции импорта, выполните метод main класса Mongodb2ESdemo:```java public class Dbdemo { public static void main(String[] args) {
Mongodb2ESdemo dbdemo = new Mongodb2ESdemo();
boolean dropIndice = true; //CommonLauncher.getBooleanAttribute("dropIndice", false); // также указывает значение по умолчанию
dbdemo.scheduleTimestampImportData(dropIndice);
}
.....
}
После завершения изменения конфигурации, вы можете приступить к отладке функциональности.
После успешного тестирования и отладки, вы можете собрать и выпустить исполняемую версию: перейдите в командную строку, находясь в корневой директории исходного кода mongodb-elasticsearch, и выполните следующие команды Gradle для сборки и выпуска версии.
release.bat
## Запуск задачи
После успешной сборки Gradle, в директории build/distributions будет создан zip-пакет, который можно распаковать и запустить для импорта данных.
Linux:
chmod +x restart.sh
./restart.sh
Windows: restart.bat
## Конфигурация JVM
Измените файл `jvm.options`, установив размер памяти и другие параметры JVM.
-Xms1g
-Xmx1g
### Настройка параметров задачи
При использовании [mongodb-elasticsearch](https://github.com/bbossgroups/mongodb-elasticsearch) можно избежать необходимости постоянной сборки и публикации данных синхронизации во время отладки, настроив некоторые контрольные параметры в конфигурационном файле `resources/application.properties`. Затем эти параметры могут быть получены в коде следующим образом:
```ini
# Основной класс программы
mainclass=org.frameworkset.elasticsearch.imp.Mongodb2ESdemo
# Настройка параметров
# Метод получения параметров в коде: CommonLauncher.getBooleanAttribute("dropIndice", false); // также указано значение по умолчанию false
dropIndice=false
```Метод получения параметра `dropIndice` в коде:
```java
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", OnClickListener.DEFAULT_VIEW_ID); // также указано значение по умолчанию
importBuilder.setBatchSize(batchSize);
importBuilder.setQueue(queueSize); // Установка длины очереди ожидания пула потоков для массового импорта
importBuilder.setThreadCount(workThreads); // Установка количества рабочих потоков в пуле потоков для массового импорта
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )