solrj solrclient.add collection 命令
solrj solrclient.add collection order
我正在创建一个 SolrInputDocuments 列表,其中包含要在 Solr 6 中编制索引的原子更新(没有 SolrCloud,没有 Shards,只有一个 Solr 核心)。
如果我给出:
,文档的索引方式和提交给 Solr 的方式是否存在顺序差异?
一个。这个collection直接到客户端的add方法或者
b。如果我在外部循环遍历它们并与客户端单独添加它们?
直接添加collection:
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 处理原子更新的顺序。
直接把collection加到上面的add方法中就可以实现了吗?
如果您检查代码 here, you can see that the mentioned code calls UpdateRequest.add(Collection docs),其在集合中的周期与您在第二个用例中提到的方式相同。因此,将在两个建议的用例中保持顺序。
我正在创建一个 SolrInputDocuments 列表,其中包含要在 Solr 6 中编制索引的原子更新(没有 SolrCloud,没有 Shards,只有一个 Solr 核心)。
如果我给出:
,文档的索引方式和提交给 Solr 的方式是否存在顺序差异?一个。这个collection直接到客户端的add方法或者
b。如果我在外部循环遍历它们并与客户端单独添加它们?
直接添加collection:
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 处理原子更新的顺序。
直接把collection加到上面的add方法中就可以实现了吗?
如果您检查代码 here, you can see that the mentioned code calls UpdateRequest.add(Collection docs),其在集合中的周期与您在第二个用例中提到的方式相同。因此,将在两个建议的用例中保持顺序。