Hi Chris,

probably the index:facets function [1] is a solution for you.
The number of distinct-values for each facet depends on the maxcat setting [2].

Note: if the content of your database changes you have to recreate the index.

Kind regards,
Andreas

[1] http://docs.basex.org/wiki/Index_Module#index:facets
[2] http://docs.basex.org/wiki/Options#MAXCATS

Am 20.10.2012 um 13:58 schrieb Christopher Harper:

> Hi @ll,
> 
> I'm working on an CM/DM solution that uses BaseX as the metadata repository. 
> This isn't my first stab at a DM/CM system just that the XML database portion 
> is new to me…
> 
> Now when trying to scale the system up I find that I have created at least 
> one offending query:
> 
> count(
>       distinct-values(
>               let $item := doc('db')/repository/items/*//object
>               for $path in $item/paths/path
>               where starts-with($path/@name, '/Root/Temp/Import/')
>               return $item/@uuid
>       )
> )
> 
> The '*/' could be replaced with 'documents/document' and 'folders', but that 
> would be two separate queries and their individual times would still be 
> offending.
> 
> The goal of the query is to list items placed into a certain folder structure 
> represented by items in the database.
> 
> This seems like a straight forward query but I'm stumped at trying to get it 
> to perform adequately.
> 
> Any suggestions?
> 
> / Chris
> _______________________________________________
> BaseX-Talk mailing list
> [email protected]
> https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk

_______________________________________________
BaseX-Talk mailing list
[email protected]
https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk

Reply via email to