@Test public void testNodeWithQuery() throws QueryNodeException { final QueryBuilder build = new QueryBuilder(); final NodeQuery node = build.newNode("aaa"); assertParser(node); }
@Test public void testTwigWithRootOnly() throws QueryNodeException { final QueryBuilder build = new QueryBuilder(); final TwigQuery twig = build.newTwig("aaa"); assertParser(twig); }
@Test public void testEmptyTwig() throws QueryNodeException { final QueryBuilder build = new QueryBuilder(); final TwigQuery twig = build.newTwig(); assertParser(twig); }
@Test public void testBooleanWithOneClause() throws QueryNodeException { final QueryBuilder build = new QueryBuilder(); final AbstractBooleanQuery bool = build.newBoolean() .with(build.newNode("aaa")); assertParser(bool); }
@Test public void testNodeWithLevelAndRange() throws QueryNodeException { final QueryBuilder build = new QueryBuilder(); final NodeQuery node = build.newNode("aaa") .setLevel(1) .setRange(1, 2); assertParser(node); }
@Test public void testTwigWithRootLevelAndRange() throws QueryNodeException { final QueryBuilder build = new QueryBuilder(); final TwigQuery twig = build.newTwig("aaa") .setLevel(2) .setRange(2, 5); assertParser(twig); }
@Test public void testTwigWithOneChild() throws QueryNodeException { final QueryBuilder build = new QueryBuilder(); final TwigQuery twig = build.newTwig() .with(build.newNode("aaa")); assertParser(twig); }
@Test public void testTwigWithOneDescendant() throws QueryNodeException { final QueryBuilder build = new QueryBuilder(); final TwigQuery twig = build.newTwig() .with(build.newNode("aaa"), 2); assertParser(twig); }
@Test public void testDoubleQuery() throws SolrServerException, IOException, QueryNodeException { this.addJsonString("1", "{\"@id\":\"http://therealbanff.com/event/112\",\"costValue\":{\"_datatype_\":\"http://www.w3.org/2001/XMLSchema#double\",\"_value_\":\"0.00\"}}"); final SolrQuery query = new SolrQuery(); final QueryBuilder b = new QueryBuilder(); query.setQuery(b.newNode("xsd:double([-1.0 TO 1.0])").toString()); query.setRequestHandler("tree"); final String[] results = this.search(query, ID_FIELD); assertEquals(1, results.length); }
@Test public void testNestedBoolean() throws QueryNodeException { final QueryBuilder build = new QueryBuilder(); final AbstractBooleanQuery bool = build.newBoolean() .with(build.newNode("aaa")) .without(build.newBoolean() .with(build.newNode("ddd"))); assertParser(bool); }
@Test public void testBooleanSpanWithNode() throws QueryNodeException { final QueryBuilder build = new QueryBuilder(); final TwigQuery twig = build.newTwig() .with(build.newBoolean() .with(build.newNode("aaa")) .with(build.newNode("bbb")) .setSlop(1)); assertParser(twig); }
@Test public void testBooleanWithMultipleClauses() throws QueryNodeException { final QueryBuilder build = new QueryBuilder(); final AbstractBooleanQuery bool = build.newBoolean() .with(build.newNode("aaa")) .without(build.newNode("bbb")) .optional(build.newTwig("ccc").with(build.newNode("ddd"))); assertParser(bool); }
/** * Checks the qparser plugin option to allow leading wildcard. The solrconfig.xml is setting this parameter * to true. */ @Test public void testAllowLeadingWildcard() throws SolrServerException, IOException, QueryNodeException { this.addJsonString("1", "{ \"aaa\" : { \"bbb\" : \"ccc\" } }"); final SolrQuery query = new SolrQuery(); final QueryBuilder b = new QueryBuilder(); query.setQuery(b.newNode("*a*").toString()); query.setRequestHandler("tree"); final String[] results = this.search(query, ID_FIELD); assertEquals(1, results.length); }
@Test public void testTwigWithMultipleChildren() throws QueryNodeException { final QueryBuilder build = new QueryBuilder(); final TwigQuery twig = build.newTwig() .with(build.newNode("aaa")) .without(build.newNode("bbb")) .optional(build.newTwig() .with(build.newNode("ccc"))); assertParser(twig); }
@Test public void testTwigWithChildAndDescendant() throws QueryNodeException { final QueryBuilder build = new QueryBuilder(); final TwigQuery twig = build.newTwig() .with(build.newNode("aaa")) .without(build.newNode("bbb"), 2) .optional(build.newTwig() .with(build.newNode("ccc")), 4); assertParser(twig); }
@Test public void testQNamesMapping() throws SolrServerException, IOException, QueryNodeException { this.addJsonString("1", "{ \"uri\" : { " + "\"_value_\" : \"http://xmlns.com/foaf/0.1/Person\", " + "\"_datatype_\" : \"uri\" " + "} }"); final SolrQuery query = new SolrQuery(); final QueryBuilder b = new QueryBuilder(); query.setQuery(b.newTwig("uri").with(b.newNode("'foaf:Person'")).toString()); query.setRequestHandler("tree"); final String[] results = this.search(query, ID_FIELD); assertEquals(1, results.length); }
@Test public void testURIDatatypeQuery() throws SolrServerException, IOException, QueryNodeException { this.addJsonString("1", "{ \"uri\" : { " + "\"_value_\" : \"http://xmlns.com/foaf/0.1/Person\", " + "\"_datatype_\" : \"uri\" " + "} }"); final SolrQuery query = new SolrQuery(); final QueryBuilder b = new QueryBuilder(); query.setQuery(b.newTwig("uri").with(b.newNode("uri('http://xmlns.com/foaf/0.1/Person')")).toString()); query.setRequestHandler("tree"); final String[] results = this.search(query, ID_FIELD); assertEquals(1, results.length); }
@Test public void testBooleanSpanWithTwig() throws QueryNodeException { final QueryBuilder build = new QueryBuilder(); final TwigQuery twig = build.newTwig() .with(build.newBoolean() .with(build.newTwig("aa") .with(build.newNode("aaa"))) .with(build.newTwig("bb") .with(build.newNode("bbb"))) .setInOrder(false)); assertParser(twig); }
@Test public void testNestedBooleanSpan() throws QueryNodeException { final QueryBuilder build = new QueryBuilder(); final TwigQuery twig = build.newTwig() .with(build.newBoolean() .with(build.newBoolean() .optional(build.newNode("aaa")) .optional(build.newNode("ccc")) .setInOrder(true)) .with(build.newNode("bbb")) .setSlop(1)); assertParser(twig); }
@Test public void testSimpleJsonQuery() throws IOException, SolrServerException, QueryNodeException { this.addJsonString("1", "{ \"aaa\" : { \"bbb\" : \"ccc\" } }"); SolrQuery query = new SolrQuery(); final QueryBuilder b = new QueryBuilder(); query.setQuery(b.newTwig("aaa").with(b.newNode("ccc"), 3).toString()); query.setRequestHandler("tree"); String[] results = this.search(query, ID_FIELD); assertEquals(1, results.length); query = new SolrQuery(); query.setQuery(b.newTwig("aaa").with(b.newNode("ccc"), 2).toString()); query.setRequestHandler("tree"); results = this.search(query, ID_FIELD); assertEquals(0, results.length); }