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="cocoon:/index-header"/>
           <map:part src="cocoon:/index-body"/>
</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="cocoon:/index-form"/>
           <map:part src="cocoon:/index-process-query"/>
</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