WedX - журнал о программировании и компьютерных науках

Как импортировать данные из БД в SOLR по частям, используя DIH?

Я пытаюсь использовать DIH для импорта данных из MySQL в SOLR, мой запрос состоит из соединения и оставляет внешние соединения, например:

   select * from products    join merchants on merchants.id=products.merchant_id                             

    left outer join cats_products on products.id=cats_products.product_id

    join categories on cats_products.category_id=categories.id;

, когда я использую соединение, все в порядке, но когда я хочу использовать левое внешнее соединение, это занимает много времени, и после долгого времени оно ничего не возвращает и не успевает, я нашел кое-что об использовании batchSize< /strong> но когда я меняю число для этого параметра, это не имеет значения, поэтому один из моих вопросов заключается в том, почему это не влияет? Например, batchSize="30000".

затем я решил использовать limit в своем запросе и использовать множество объектов в моей конфигурации dih с различными ограничениями, такими как:

    <entity name="first" query="select * from table LIMIT 0, 5000">
 ....
 </entity>
 <entity name="second" query="select * from table LIMIT 5000, 10000">
 ...
</entity>

но у меня огромное количество данных, и я не могу использовать их для полного импорта. поэтому мне было интересно, может быть, должны быть какие-то другие способы попробовать, я имею в виду получение данных из базы данных по частям или ... любая идея будет оценена.

25.09.2015

  • С MySQL помогает использование batchSize="-1" (см. mysolr.com /советы/) 26.09.2015
  • @arun большое спасибо, у меня работает!;) 28.09.2015

Ответы:


1

Вы пробовали использовать параметры start и rows? Я сделал это только из панели администратора, но вы можете поэкспериментировать оттуда и посмотреть, сработает ли это для вас. В противном случае вы, вероятно, захотите перейти по такому URL-адресу: [host]:[port]/solr/dataimport?command=[command]&clean=[true|false]&commit=[true|false]&start=[start]&rows=[rows]

Однако вам нужно будет отслеживать смещения записи самостоятельно.

Если вы используете SolrJ, вы, вероятно, могли бы сделать что-то вроде

solrQuery.set("command", "full-import");
solrQuery.set("clean", "true");
solrQuery.set("commit", "true");
solrQuery.set("start", "0");
solrQuery.set("rows", "1000");
28.09.2015
Новые материалы

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


© 2024 wedx.ru, WedX - журнал о программировании и компьютерных науках
Для любых предложений по сайту: [email protected]