2016-07-08 2 views
0

Я создаю список SolrInputDocuments с атомарными обновлениями, которые будут проиндексированы в Solr 6 (без SolrCloud, без осколков, всего одно ядро ​​Solr).solrj solrclient.add collection order

Есть ли разница в порядке, как документы будут проиндексированы и стремятся к Solr, если я дам:

а. этот сбор непосредственно к методу добавления клиента или

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

Непосредственно добавить коллекцию:

final SolrClient solr = createMySolrClient() // custom method 
List<SolrInputDocument> solrDocsToIndex = createMySolrDocs() // custom method 
solr.add(solrDocsToIndex); 
solr.commit(); 

Добавить по внешнему контуру:

final SolrClient solr = createMySolrClient() // custom method 
List<SolrInputDocument> solrDocsToIndex = createMySolrDocs() // custom method 
for (SolrInputDocument solrDocToIndex : solrDocsToIndex) { 
    solr.add(solrDocToIndex); 
} 
solr.commit(); 

В моей USECASE, порядок, в котором эти документы хранятся в списке должен быть порядком, в котором Solr будет обрабатывать атомные обновления.

Можно ли сразу добавить коллекцию в метод добавления, как показано выше, уже выполнить это?

ответ

0

Если вы проверите код here, вы увидите, что упомянутый код вызывает UpdateRequest.add(Collection docs), чьи циклы в коллекции предоставляются так же, как вы упомянули в своем втором варианте использования. Таким образом, порядок будет поддерживаться как в предлагаемых вариантах использования.