jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tobias Bocanegra" <tobias.bocane...@day.com>
Subject Re: document order related questions
Date Fri, 31 Mar 2006 09:57:41 GMT
hi alex,
the ordering of childnodes is optional to implement by a repository.
even if the nodetype defines a 'hasOrderableChildNodes', the
repository must not support this.

but, if it supports it, the result sets of the query must be in the
correct order. since the result set retrieved by lucene is in
arbitrary order internally, it is sorted before returned to the
client. this has an impact on performance. so, if the correct ordering
is not needed by your application, you can disable it.

the reason it is enabled by default is, that it is demanded by the
spec and jackrabbit is jsr170 reference implementation.

regards, toby

On 3/31/06, Alexandru Popescu <the.mindstorm.mailinglist@gmail.com> wrote:
> Ohhhh... and I forgot the question about the document order disabling
> in searchs: I have read quite a few posts on the ML about bad
> performance queries. For most of them, the answer was disable document
> order. If this is a known problem, why isn't it by default disabled? I
> guess the other answers may clarify this one too, but I thought I
> should mention it for further reference. Thanks again.
>
> Eagerly waiting for some light :-).
>
> ./alex
> --
> .w( the_mindstorm )p.
>
>
> On 3/31/06, Alexandru Popescu <the.mindstorm.mailinglist@gmail.com> wrote:
> > Hi!
> >
> > I have been trying to understand what exactly is the document order and why it is
set by default to
> > true in the queries, even if it is known its bad impact on performance.
> >
> > I have been rechecking the spec, but I couldn't find any definition of this term.
A definition can
> > probably be deduced from the 6.4.2 Document View XML Mapping chapter, but this would
lead to a
> > vicious circle imo.
> >
> > So, what is the document order? Please give me any details that might enlighten
me about this term.
> >
> > Related to this document order there is another paragraph in the spec that is not
absolutely clear
> > to me. I am refering to 6.6.4.2 Document Order:
> >
> > [quote]
> > If document order searching is supported, then the context
> > functions related to document order, last() and position(), must
> > also be supported.
> > [/quote]
> >
> > This paragraph should be read like: last(), position() can be used _only_ in queries
that use the
> > document order?
> >
> > If this is the case, than optimization queries like position() > x (for paging)
will not work when a
> > specific order is used (and I know there is already a JIRA issue about position()
being able to
> > handle only equality :-) ). Than you will need to rely on the NodeIterator.skip()
that is not
> > required to be lazy.
> >
> > Can you please give me some details, comments, opinions, anything that might remove
the shaddow on
> > this points? Many, many thanks in advance,
> >
> > ./alex
> > --
> > .w( the_mindstorm )p.
> >
>


--
-----------------------------------------< tobias.bocanegra@day.com >---
Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel
T +41 61 226 98 98, F +41 61 226 98 97
-----------------------------------------------< http://www.day.com >---

Mime
View raw message