Hi,
We have a Query that we are having performance problems with. The people doing 
load testing are saying we will need a cluster of 5, 4 core servers to support 
600 concurrent users. For us this is not good, since that not many users and a 
lot of hardware.

The query is:
//*...@sling:resourceType='sakai/user-home']/*[fn:name() = 'public' or 
fn:name() = 'pages']//*[jcr:contains(.,'keyword')]]

The content structure is of the form:
/_user/i/ie/ieb/ieb2/ieb23389
                       - sling:resourceType = sakai/user-home
                       public/*/*/*/*.....*/ somecontent
                       pages/*/*/*/* .... */someothercontent

where there may be many nodes (many = thousands) that match the query per 
"sakai/user-home" node, but we only want to get a list "sakai/user-home" nodes.

At the moment we are having to iterate through all the nodes (10,000) and 
filter them to get a distinct list (10)

We have been looking at using aggregates in the index configuration, but with 
no success yet.

Is there a better way of formulating the XPath to just return the nodes we want 
?

Ian

 

Reply via email to