2016-07-08 7 views
0

私はSolr 6(SolrCloudなし、Shardsなし、ただ1つのSolrコア)で索引付けされるアトミック更新を持つSolrInputDocumentsのリストを作成しています。solrj solrclient.addコレクションのオーダー

は私が与えた場合の文書がインデックス化し、Solrのにコミットする方法で注文違いがあります。このコレクションを直接クライアントのaddメソッドに渡すか、または

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(); 

を、これらの文書をリストに格納される順序は、どの順番である必要がありますSolrはアトミック更新を処理します。

上記のようにaddメソッドにコレクションを直接追加できますか?

答えて

0

コードhereをチェックすると、前述のコードでは、2番目のユースケースで述べたのと同じ方法で、コレクションのサイクルがUpdateRequest.add(Collection docs)であることがわかります。したがって、両方の提案されたユースケースで注文は維持されます。

関連する問題