2017-02-15 15:48:53 -08:00
|
|
|
package com.baeldung.solrjava;
|
|
|
|
|
|
|
|
import static org.junit.Assert.assertEquals;
|
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
|
|
|
import org.apache.solr.client.solrj.SolrQuery;
|
|
|
|
import org.apache.solr.client.solrj.SolrServerException;
|
|
|
|
import org.apache.solr.client.solrj.impl.HttpSolrClient;
|
|
|
|
import org.apache.solr.client.solrj.impl.XMLResponseParser;
|
|
|
|
import org.apache.solr.client.solrj.response.QueryResponse;
|
|
|
|
import org.apache.solr.common.SolrDocument;
|
|
|
|
import org.apache.solr.common.SolrDocumentList;
|
|
|
|
import org.apache.solr.common.SolrInputDocument;
|
|
|
|
import org.junit.Before;
|
|
|
|
import org.junit.Test;
|
|
|
|
|
|
|
|
public class SolrJavaIntegrationTest {
|
|
|
|
|
|
|
|
private HttpSolrClient solr;
|
2017-02-16 19:59:06 -08:00
|
|
|
private SolrInputDocument document;
|
2017-02-15 15:48:53 -08:00
|
|
|
|
|
|
|
@Before
|
|
|
|
public void setUp() throws Exception {
|
|
|
|
|
|
|
|
solr = new HttpSolrClient("http://localhost:8983/solr/bigboxstore");
|
|
|
|
solr.setParser(new XMLResponseParser());
|
2017-02-16 19:59:06 -08:00
|
|
|
|
|
|
|
document = new SolrInputDocument();
|
2017-02-15 15:48:53 -08:00
|
|
|
document.addField("id", "123456");
|
|
|
|
document.addField("name", "Kenmore Dishwasher");
|
|
|
|
document.addField("price", "599.99");
|
|
|
|
solr.add(document);
|
|
|
|
solr.commit();
|
2017-02-16 19:59:06 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
public void whenAdd_thenVerifyAdded() throws SolrServerException, IOException {
|
2017-02-15 15:48:53 -08:00
|
|
|
|
|
|
|
SolrQuery query = new SolrQuery();
|
|
|
|
query.set("q", "id:123456");
|
|
|
|
QueryResponse response = null;
|
|
|
|
|
|
|
|
response = solr.query(query);
|
|
|
|
|
|
|
|
SolrDocumentList docList = response.getResults();
|
|
|
|
assertEquals(docList.getNumFound(), 1);
|
|
|
|
|
|
|
|
for (SolrDocument doc : docList) {
|
|
|
|
assertEquals((String) doc.getFieldValue("id"), "123456");
|
|
|
|
assertEquals((Double) doc.getFieldValue("price"), (Double) 599.99);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
2017-02-16 19:59:06 -08:00
|
|
|
public void whenDelete_thenVerifyDeleted() throws SolrServerException, IOException {
|
2017-02-15 15:48:53 -08:00
|
|
|
|
|
|
|
solr.deleteById("123456");
|
|
|
|
solr.commit();
|
|
|
|
|
|
|
|
SolrQuery query = new SolrQuery();
|
|
|
|
query.set("q", "id:123456");
|
|
|
|
QueryResponse response = null;
|
|
|
|
|
|
|
|
response = solr.query(query);
|
|
|
|
|
|
|
|
SolrDocumentList docList = response.getResults();
|
|
|
|
assertEquals(docList.getNumFound(), 0);
|
|
|
|
}
|
|
|
|
}
|