use of org.apache.jackrabbit.oak.query.facet.FacetResult in project jackrabbit-oak by apache.
the class FacetTest method testFacetsNA.
public void testFacetsNA() throws Exception {
if (superuser.itemExists(FACET_CONFING_PROP_PATH)) {
superuser.getItem(FACET_CONFING_PROP_PATH).remove();
markIndexForReindex();
superuser.save();
}
Session session = superuser;
QueryManager qm = session.getWorkspace().getQueryManager();
Node n1 = testRootNode.addNode("node1");
n1.setProperty("text", "foo");
Node n2 = testRootNode.addNode("node2");
n2.setProperty("text", "bar");
session.save();
String sql2 = "select [jcr:path], [rep:facet(text)] from [nt:base] " + "where contains([text], 'foo OR bar')";
Query q = qm.createQuery(sql2, Query.JCR_SQL2);
QueryResult result = q.execute();
FacetResult facetResult = new FacetResult(result);
assertNotNull(facetResult);
assertTrue(facetResult.getDimensions().isEmpty());
}
use of org.apache.jackrabbit.oak.query.facet.FacetResult in project jackrabbit-oak by apache.
the class FacetTest method testFacetRetrievalNumberOfFacetsConfiguredHigherThanDefault.
public void testFacetRetrievalNumberOfFacetsConfiguredHigherThanDefault() throws RepositoryException {
Node facetsConfig = superuser.getNode(FACET_CONFING_NODE_PATH);
facetsConfig.setProperty(LuceneIndexConstants.PROP_FACETS_TOP_CHILDREN, 11);
markIndexForReindex();
superuser.save();
superuser.refresh(true);
Session session = superuser;
Node n1 = testRootNode.addNode("node1");
String pn = "jcr:title";
n1.setProperty(pn, "hello 1");
Node n2 = testRootNode.addNode("node2");
n2.setProperty(pn, "hallo 2");
Node n3 = testRootNode.addNode("node3");
n3.setProperty(pn, "hallo 3");
Node n4 = testRootNode.addNode("node4");
n4.setProperty(pn, "hallo 4");
Node n5 = testRootNode.addNode("node5");
n5.setProperty(pn, "hallo 5");
Node n6 = testRootNode.addNode("node6");
n6.setProperty(pn, "hallo 6");
Node n7 = testRootNode.addNode("node7");
n7.setProperty(pn, "hallo 7");
Node n8 = testRootNode.addNode("node8");
n8.setProperty(pn, "hallo 8");
Node n9 = testRootNode.addNode("node9");
n9.setProperty(pn, "hallo 9");
Node n10 = testRootNode.addNode("node10");
n10.setProperty(pn, "hallo 10");
Node n11 = testRootNode.addNode("node11");
n11.setProperty(pn, "hallo 11");
Node n12 = testRootNode.addNode("node12");
n12.setProperty(pn, "hallo 12");
session.save();
QueryManager qm = session.getWorkspace().getQueryManager();
String sql2 = "select [jcr:path], [rep:facet(" + pn + ")] from [nt:base] " + "where contains([" + pn + "], 'hallo') order by [jcr:path]";
Query q = qm.createQuery(sql2, Query.JCR_SQL2);
QueryResult result = q.execute();
FacetResult facetResult = new FacetResult(result);
assertNotNull(facetResult);
assertNotNull(facetResult.getDimensions());
assertEquals(1, facetResult.getDimensions().size());
assertTrue(facetResult.getDimensions().contains(pn));
List<FacetResult.Facet> facets = facetResult.getFacets(pn);
assertNotNull(facets);
assertEquals(11, facets.size());
}
use of org.apache.jackrabbit.oak.query.facet.FacetResult in project jackrabbit-oak by apache.
the class FacetTest method testFacetRetrievalDefaultNumberOfFacets.
public void testFacetRetrievalDefaultNumberOfFacets() throws RepositoryException {
Session session = superuser;
Node n1 = testRootNode.addNode("node1");
String pn = "jcr:title";
n1.setProperty(pn, "hello 1");
Node n2 = testRootNode.addNode("node2");
n2.setProperty(pn, "hallo 2");
Node n3 = testRootNode.addNode("node3");
n3.setProperty(pn, "hallo 3");
Node n4 = testRootNode.addNode("node4");
n4.setProperty(pn, "hallo 4");
Node n5 = testRootNode.addNode("node5");
n5.setProperty(pn, "hallo 5");
Node n6 = testRootNode.addNode("node6");
n6.setProperty(pn, "hallo 6");
Node n7 = testRootNode.addNode("node7");
n7.setProperty(pn, "hallo 7");
Node n8 = testRootNode.addNode("node8");
n8.setProperty(pn, "hallo 8");
Node n9 = testRootNode.addNode("node9");
n9.setProperty(pn, "hallo 9");
Node n10 = testRootNode.addNode("node10");
n10.setProperty(pn, "hallo 10");
Node n11 = testRootNode.addNode("node11");
n11.setProperty(pn, "hallo 11");
Node n12 = testRootNode.addNode("node12");
n12.setProperty(pn, "hallo 12");
session.save();
QueryManager qm = session.getWorkspace().getQueryManager();
String sql2 = "select [jcr:path], [rep:facet(" + pn + ")] from [nt:base] " + "where contains([" + pn + "], 'hallo') order by [jcr:path]";
Query q = qm.createQuery(sql2, Query.JCR_SQL2);
QueryResult result = q.execute();
FacetResult facetResult = new FacetResult(result);
assertNotNull(facetResult);
assertNotNull(facetResult.getDimensions());
assertEquals(1, facetResult.getDimensions().size());
assertTrue(facetResult.getDimensions().contains(pn));
List<FacetResult.Facet> facets = facetResult.getFacets(pn);
assertNotNull(facets);
assertEquals(10, facets.size());
}
use of org.apache.jackrabbit.oak.query.facet.FacetResult in project jackrabbit-oak by apache.
the class FacetTest method testFacetRetrieval2.
public void testFacetRetrieval2() throws Exception {
Session session = superuser;
Node n1 = testRootNode.addNode("node1");
String pn = "jcr:title";
n1.setProperty(pn, "hello");
Node n2 = testRootNode.addNode("node2");
n2.setProperty(pn, "hallo");
Node n3 = testRootNode.addNode("node3");
n3.setProperty(pn, "oh hallo");
session.save();
QueryManager qm = session.getWorkspace().getQueryManager();
String sql2 = "select [jcr:path], [rep:facet(" + pn + ")] from [nt:base] " + "where contains([" + pn + "], 'hallo') order by [jcr:path]";
Query q = qm.createQuery(sql2, Query.JCR_SQL2);
QueryResult result = q.execute();
FacetResult facetResult = new FacetResult(result);
assertNotNull(facetResult);
assertNotNull(facetResult.getDimensions());
assertEquals(1, facetResult.getDimensions().size());
assertTrue(facetResult.getDimensions().contains(pn));
List<FacetResult.Facet> facets = facetResult.getFacets(pn);
assertNotNull(facets);
assertEquals("hallo", facets.get(0).getLabel());
assertEquals(1, facets.get(0).getCount(), 0);
assertEquals("oh hallo", facets.get(1).getLabel());
assertEquals(1, facets.get(1).getCount(), 0);
NodeIterator nodes = result.getNodes();
assertTrue(nodes.hasNext());
assertNotNull(nodes.nextNode());
assertTrue(nodes.hasNext());
assertNotNull(nodes.nextNode());
assertFalse(nodes.hasNext());
}
use of org.apache.jackrabbit.oak.query.facet.FacetResult in project jackrabbit-oak by apache.
the class FacetTest method testMultipleFacetsRetrieval.
public void testMultipleFacetsRetrieval() throws Exception {
Session session = superuser;
Node n1 = testRootNode.addNode("node1");
String pn = "jcr:title";
String pn2 = "jcr:description";
n1.setProperty(pn, "hello");
n1.setProperty(pn2, "a");
Node n2 = testRootNode.addNode("node2");
n2.setProperty(pn, "hallo");
n2.setProperty(pn2, "b");
Node n3 = testRootNode.addNode("node3");
n3.setProperty(pn, "oh hallo");
n3.setProperty(pn2, "a");
session.save();
QueryManager qm = session.getWorkspace().getQueryManager();
String sql2 = "select [jcr:path], [rep:facet(" + pn + ")], [rep:facet(" + pn2 + ")] from [nt:base] " + "where contains([" + pn + "], 'hallo') order by [jcr:path]";
Query q = qm.createQuery(sql2, Query.JCR_SQL2);
QueryResult result = q.execute();
FacetResult facetResult = new FacetResult(result);
assertNotNull(facetResult);
assertNotNull(facetResult.getDimensions());
assertEquals(2, facetResult.getDimensions().size());
assertTrue(facetResult.getDimensions().contains(pn));
assertTrue(facetResult.getDimensions().contains(pn2));
List<FacetResult.Facet> facets = facetResult.getFacets(pn);
assertNotNull(facets);
assertEquals("hallo", facets.get(0).getLabel());
assertEquals(1, facets.get(0).getCount(), 0);
assertEquals("oh hallo", facets.get(1).getLabel());
assertEquals(1, facets.get(1).getCount(), 0);
List<FacetResult.Facet> facets1 = facetResult.getFacets(pn2);
assertNotNull(facets1);
assertEquals("a", facets1.get(0).getLabel());
assertEquals(1, facets1.get(0).getCount(), 0);
assertEquals("b", facets1.get(1).getLabel());
assertEquals(1, facets1.get(1).getCount(), 0);
NodeIterator nodes = result.getNodes();
assertTrue(nodes.hasNext());
assertNotNull(nodes.nextNode());
assertTrue(nodes.hasNext());
assertNotNull(nodes.nextNode());
assertFalse(nodes.hasNext());
}
Aggregations