-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Stefan L�tzkendorf wrote:
> Hello Max,
> 
> an implementation of IndexStore has a getBasicExpressionFactory().
> Depending on how the index store is registered (as propertiesindexer or
> contentindexer) the index store the expression factory must be able to
> handle the <DAV:contains> expression for content or all the other for
> properties searching.
> 
> The LuceneExpressionFactory (in 2.2) translates dasl basicsearch queries
> to lucene expressions. But consider that the translation is done with
> respect to the structure of the lucene index that the
> LuceneContentIndexer/LucenePropertiesIndexer creates, i.e. how property
> names are mapped to lucene fields etc. So if you are using
> LuceneContentIndexer/LucenePropertiesIndexer or equivaliant to create
> the index you can use LuceneExpressionFactory, otherwise I think you
> have to write your own expression factory and return it from your index
> store implementation.
> 
> Regarding the ACL evaluation there is no progress. In 2.2 the result of
> a lucene based query (and other queries to) is scanned sequentially, and
> for each resource found, the permissions are checked.

IIRC RDBMSExpressionFactory does the same thing. It means that the
amount of time spent checking for permissions increases linearly with
the amount of results.

> The problem with Lucene filters will be, to calculate an independend
> data structure (to transform it to a bit set) that represents the
> permissions in your namespace.

A related problem to indexed ACL evaluation occurs when you want to
directly query these 'second order' properties. Apart from ACLs, DELTAV
properties are also in this category. Their storage representation is
not simple key/value pairs. For instance a revision number property may
be encoded in the on-disk filename for a filestore or as a separate
table in a SQL database.

One solution to this latter problem is to extract the properties you
wish to query for so that they are stored as key/value pairs. You'll
need to make sure these extracted properties have a different name than
the original ones though. Or rather, use the same name but a different
namespace would be best I think.


- --
Unico

> If youo have any ideas on this field, I'm really interested to hear about.
> 
> Regards, Stefan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCjK2mcuec8tVNKAwRAk3EAJ0QwpWGdcJkTMu5vndQlIlZSwltAwCglJgl
n1llxv5diBqIg6BIJy26wmo=
=iMG3
-----END PGP SIGNATURE-----


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

Reply via email to