Add documents using the request handler
/update
:
final String UPDATE_REQUEST_PATH = "/update";
final String[] solrUrl = { "http://localhost:8983/solr" };
final String collectionName = "collection1";
final String SOLR_UNIQUE_KEY = "id";
final String FIELD_1 = "field1"; // multiValued=true
final String FIELD_2 = "field2";
final String DYNAMIC_FIELD_1 = "dynamicField1_s";
final String DYNAMIC_FIELD_2 = "dynamicField2_s";
final CloudSolrClient cloudSolrClient = new CloudSolrClient.Builder(Arrays.asList(solrUrl)).build();
cloudSolrClient.setDefaultCollection(collectionName);
// adding documents [/update] [UpdateRequest::add] [SolrInputDocument]
{
final SolrInputDocument solrInputDocument = new SolrInputDocument();
solrInputDocument.addField(SOLR_UNIQUE_KEY, "2");
solrInputDocument.addField(DYNAMIC_FIELD_1, "dynamic_field1 1");
solrInputDocument.addField(DYNAMIC_FIELD_2, "dynamic_field2 1");
solrInputDocument.addField(FIELD_1, "field1 1");
solrInputDocument.addField(FIELD_1, "field1 2");
solrInputDocument.addField(FIELD_2, "field2 1");
final UpdateRequest updateRequest = new UpdateRequest();
updateRequest.add(solrInputDocument);
updateRequest.setPath(UPDATE_REQUEST_PATH);
updateRequest.setMethod(METHOD.POST);
final NamedList<Object> response = cloudSolrClient.request(updateRequest);
System.out.println(response);
}
cloudSolrClient.close();