jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ard Schrijvers <a.schrijv...@onehippo.com>
Subject Re: full text search improvements
Date Mon, 26 Mar 2012 14:25:29 GMT
On Mon, Mar 26, 2012 at 4:14 PM, Lukas Kahwe Smith <mls@pooteeweet.org> wrote:
> On Mar 26, 2012, at 10:10 , Ard Schrijvers wrote:
>> I am not sure if it would be an issue for oak, but for jr 1 and 2, we
>> build up jcr session keeping virtual node states in memory : This can
>> grow too large, and it not easy to limit. Also, since we have many
>> millions in jcr nodes while only a couple of hundred of thousands of
>> documents in general, the build in faceted navigation is too cpu
>> demanding.
> so how do users currently "define" such virtual nodes?
> are they are simply a specialized node type in which one stores the facetting query as
a property?
> or are they ad hoc like SQL2 queries?

A bit of both :)

We, developers, in general define some node type, containing some
'predefined' faceted navigation node below which the faceted
navigation virtual structure is populated (like which facets, which is
the node scope to compute faceted navigation from, which ranges, etc
etc) : See [1] for an elaborate overview

In a ad hoc version, you can inject xpath or sql queries in the
predefined faceted navigation, which works as an extra filter, see [1]
 @ 'XPath queries as in jsr-170' . Certainly for this, we had to hook
into some jcr parts which are not desirable.

See [2] for an example in action. the 'faceted' in the url is actually
some jcr node : Traversing into the facets is just traversing the
backing virtual hierarchical node structure

Again still note, that with hindsight, I doubt about the chosen
solution we have (not for small sites, but when the number of jcr
nodes become many millions there are performance drawbacks)

Regards Ard

[1] https://wiki.onehippo.com/display/CMS7/Faceted+Navigation+Configuration
[2] http://www.demo.onehippo.com/news/faceted

> i can see a use case for both, though the later is more important to me than the former
>> Another disadvantage imo of our current 'seamless' integration of
>> exposing faceted navigation over virtual layers, is that you cannot
>> write to these nodes : Some virtual nodes don't even have a canonical
>> equivalent. This makes the virtual structure also less obvious to use
>> fro third parties
> well thats to be expected from results of aggregation.
> regards,
> Lukas Kahwe Smith
> mls@pooteeweet.org

View raw message