[ 
https://issues.apache.org/jira/browse/OAK-3847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15089270#comment-15089270
 ] 

Tommaso Teofili commented on OAK-3847:
--------------------------------------

I generally agree [~chetanm], I see a better encoding of the String as an 
intermediate pass towards having an utility class e.g. in _oak-commons_ which 
will provide access to Java objects for facets that client code can more easily 
leverage.
However with the current encoding of the String this would be tricky, that's 
why I'm suggesting to move to a more convenient format.

An example of client code could be:
{code}
String sql2 = "select [jcr:path], [rep:facet(text)] from [nt:base] " +
                "where contains([text], 'hello OR hallo') order by [jcr:path]";
        Query q = qm.createQuery(sql2, Query.JCR_SQL2);
        QueryResult result = q.execute();
        RowIterator it = result.getRows();
        if (it.hasNext()) {
            Row row = it.nextRow();
            List<Facet> facets = FacetUtils.getFacets(row, "text");
            for (Facet facet : facets) {
                System.out.println(facet.getLabel() + ":" + facet.getCount());
            }
         }
{code}

> Provide an easy way to parse facets
> -----------------------------------
>
>                 Key: OAK-3847
>                 URL: https://issues.apache.org/jira/browse/OAK-3847
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: lucene, solr
>            Reporter: Tommaso Teofili
>            Assignee: Tommaso Teofili
>             Fix For: 1.3.14
>
>
> Current facet results are returned within the rep:facet($propertyname) 
> property of each resulting node. The resulting String [1] is however a bit 
> annoying to parse as it separates label / value by comma so that if label 
> contains a similar pattern parsing may even be buggy.
> An easier format for facets should be used, eventually together with an 
> utility class that returns proper objects that client code can consume.
> [1] : 
> https://github.com/apache/jackrabbit-oak/blob/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/jcr/query/FacetTest.java#L99



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to