use of org.apache.solr.common.SolrInputDocument in project lucene-solr by apache.
the class JsonLoaderTest method testParsing.
public void testParsing() throws Exception {
SolrQueryRequest req = req();
SolrQueryResponse rsp = new SolrQueryResponse();
BufferingRequestProcessor p = new BufferingRequestProcessor(null);
JsonLoader loader = new JsonLoader();
loader.load(req, rsp, new ContentStreamBase.StringStream(input), p);
assertEquals(2, p.addCommands.size());
AddUpdateCommand add = p.addCommands.get(0);
SolrInputDocument d = add.solrDoc;
SolrInputField f = d.getField("boosted");
assertEquals(2, f.getValues().size());
//
add = p.addCommands.get(1);
d = add.solrDoc;
f = d.getField("f1");
assertEquals(2, f.getValues().size());
assertEquals(false, add.overwrite);
assertEquals(0, d.getField("f2").getValueCount());
// parse the commit commands
assertEquals(2, p.commitCommands.size());
CommitUpdateCommand commit = p.commitCommands.get(0);
assertFalse(commit.optimize);
assertTrue(commit.waitSearcher);
assertTrue(commit.openSearcher);
commit = p.commitCommands.get(1);
assertTrue(commit.optimize);
assertFalse(commit.waitSearcher);
assertFalse(commit.openSearcher);
// DELETE COMMANDS
assertEquals(4, p.deleteCommands.size());
DeleteUpdateCommand delete = p.deleteCommands.get(0);
assertEquals(delete.id, "ID");
assertEquals(delete.query, null);
assertEquals(delete.commitWithin, -1);
delete = p.deleteCommands.get(1);
assertEquals(delete.id, "ID");
assertEquals(delete.query, null);
assertEquals(delete.commitWithin, 500);
delete = p.deleteCommands.get(2);
assertEquals(delete.id, null);
assertEquals(delete.query, "QUERY");
assertEquals(delete.commitWithin, -1);
delete = p.deleteCommands.get(3);
assertEquals(delete.id, null);
assertEquals(delete.query, "QUERY");
assertEquals(delete.commitWithin, 500);
// ROLLBACK COMMANDS
assertEquals(1, p.rollbackCommands.size());
req.close();
}
use of org.apache.solr.common.SolrInputDocument in project lucene-solr by apache.
the class JsonLoaderTest method testIntegerValuesInAdd.
@Test
public void testIntegerValuesInAdd() throws Exception {
String str = "{'add':[{'id':'1','i1':256,'i2':-5123456789,'i3':[0,1]}]}".replace('\'', '"');
SolrQueryRequest req = req();
SolrQueryResponse rsp = new SolrQueryResponse();
BufferingRequestProcessor p = new BufferingRequestProcessor(null);
JsonLoader loader = new JsonLoader();
loader.load(req, rsp, new ContentStreamBase.StringStream(str), p);
assertEquals(1, p.addCommands.size());
AddUpdateCommand add = p.addCommands.get(0);
SolrInputDocument d = add.solrDoc;
SolrInputField f = d.getField("i1");
assertEquals(256L, f.getValue());
f = d.getField("i2");
assertEquals(-5123456789L, f.getValue());
f = d.getField("i3");
assertEquals(2, ((List) f.getValue()).size());
assertEquals(0L, ((List) f.getValue()).get(0));
assertEquals(1L, ((List) f.getValue()).get(1));
req.close();
}
use of org.apache.solr.common.SolrInputDocument in project lucene-solr by apache.
the class JsonLoaderTest method testBigIntegerValuesInAdd.
@Test
public void testBigIntegerValuesInAdd() throws Exception {
String str = ("{'add':[{'id':'1','bi1':123456789012345678901,'bi2':1098765432109876543210," + "'bi3':[1234567890123456789012,10987654321098765432109]}]}").replace('\'', '"');
SolrQueryRequest req = req();
SolrQueryResponse rsp = new SolrQueryResponse();
BufferingRequestProcessor p = new BufferingRequestProcessor(null);
JsonLoader loader = new JsonLoader();
loader.load(req, rsp, new ContentStreamBase.StringStream(str), p);
assertEquals(1, p.addCommands.size());
AddUpdateCommand add = p.addCommands.get(0);
SolrInputDocument d = add.solrDoc;
SolrInputField f = d.getField("bi1");
assertTrue(f.getValue() instanceof String);
assertEquals("123456789012345678901", f.getValue());
f = d.getField("bi2");
assertTrue(f.getValue() instanceof String);
assertEquals("1098765432109876543210", f.getValue());
f = d.getField("bi3");
assertEquals(2, ((List) f.getValue()).size());
assertTrue(((List) f.getValue()).contains("1234567890123456789012"));
assertTrue(((List) f.getValue()).contains("10987654321098765432109"));
req.close();
}
use of org.apache.solr.common.SolrInputDocument in project lucene-solr by apache.
the class JsonLoaderTest method testDecimalValuesInAdd.
@Test
public void testDecimalValuesInAdd() throws Exception {
String str = "{'add':[{'id':'1','d1':256.78,'d2':-5123456789.0,'d3':0.0,'d3':1.0,'d4':1.7E-10}]}".replace('\'', '"');
SolrQueryRequest req = req();
SolrQueryResponse rsp = new SolrQueryResponse();
BufferingRequestProcessor p = new BufferingRequestProcessor(null);
JsonLoader loader = new JsonLoader();
loader.load(req, rsp, new ContentStreamBase.StringStream(str), p);
assertEquals(1, p.addCommands.size());
AddUpdateCommand add = p.addCommands.get(0);
SolrInputDocument d = add.solrDoc;
SolrInputField f = d.getField("d1");
assertEquals(256.78, f.getValue());
f = d.getField("d2");
assertEquals(-5123456789.0, f.getValue());
f = d.getField("d3");
assertEquals(2, ((List) f.getValue()).size());
assertTrue(((List) f.getValue()).contains(0.0));
assertTrue(((List) f.getValue()).contains(1.0));
f = d.getField("d4");
assertEquals(1.7E-10, f.getValue());
req.close();
}
use of org.apache.solr.common.SolrInputDocument in project lucene-solr by apache.
the class JsonLoaderTest method testBooleanValuesInAdd.
@Test
public void testBooleanValuesInAdd() throws Exception {
String str = "{'add':[{'id':'1','b1':true,'b2':false,'b3':[false,true]}]}".replace('\'', '"');
SolrQueryRequest req = req();
SolrQueryResponse rsp = new SolrQueryResponse();
BufferingRequestProcessor p = new BufferingRequestProcessor(null);
JsonLoader loader = new JsonLoader();
loader.load(req, rsp, new ContentStreamBase.StringStream(str), p);
assertEquals(1, p.addCommands.size());
AddUpdateCommand add = p.addCommands.get(0);
SolrInputDocument d = add.solrDoc;
SolrInputField f = d.getField("b1");
assertEquals(Boolean.TRUE, f.getValue());
f = d.getField("b2");
assertEquals(Boolean.FALSE, f.getValue());
f = d.getField("b3");
assertEquals(2, ((List) f.getValue()).size());
assertEquals(Boolean.FALSE, ((List) f.getValue()).get(0));
assertEquals(Boolean.TRUE, ((List) f.getValue()).get(1));
req.close();
}
Aggregations