I think there might be something strange about the caching on aggregators. I found strange behaviour related to aggregation of ldap-transformer-produced results. But I have not had time to investigate the root cause of the strangeness.

--
Antonio

2005/8/31, Sandor Spruit <[EMAIL PROTECTED]>:

Folks,

I am trying to speed-up my app (a search engine) by using caching. The idea
is to to run a query once, and allow quick browsing through multiple
pages of
results without redoing the query - which is an expensive processing
step. It
does not seem to work as expected, in a way I do not understand! :-(

My custom Cocoon components all use the query as their key, and return a
NOPValidity object: no constraints, use the cache unless the query changes.

I have isolated the query processing in a separate pipeline definition,
starting
with my custom generator. If I call on this pipeline, caching seems to
work as
expected. However, my query results are part of an aggregated page built-up
in a top-down fashion:

<map:pipeline>
    <map:match pattern="index">
        <map:aggregate element="html">
            <map:part src=""
            <map:part src="">        </map:aggregate>
    </map:match>

    <map:match pattern="index-header">
        <map:generate type="jx" src="" index-header.jx"/>
        <map:serialize/>
    </map:match>

    <map:match pattern="index-body">
        <map:aggregate element="body">
            <map:part src=""
            <map:part src="">        </map:aggregate>
    </map:match>

    <map:match pattern="index-form">
        <map:generate type="jx" src="" index-form.jx"/>
        <map:serialize/>
    </map:match>
</map:pipeline>

<map:pipeline>
    <map:match pattern="index-process-query">
    ....

Somehow, the "results" pipeline regularly runs again from the start,
even when my query hasn't changed a bit! Why?! When browsing
through search results, a new request gets done (flowscript loop),
with only a "page" request attribute changing. This attribute is used
at the end of the index-process-query pipeline (paginator). Could
anybody suggest what I'm overlooking here?

hints much appreciated,
Sandor



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to