cancel
Showing results for 
Search instead for 
Did you mean: 

Search Performance

mark_smithson
Champ in-the-making
Champ in-the-making
Hi,

I have implemented a search against custom attributes (via a webscript), but it is taking 3 seconds to execute. Knowing a little about lucene, and the query being executed I thought this was a little long (and is too long for our use case).

This is against an AVM store, but I have posted it here as I believe this is a general issue.

I have profiled the search in Alfresco, running in debug and it seems that most of the time (90%+) is being spent in ACLEntryAfterInvocationProvider.decide() for the ResultSet. I guess this is filtering the resultset based on some ACLs.

Is there a way to improve the performance, or bypass the ACL checks for particular operations?
2 REPLIES 2

andy
Champ on-the-rise
Champ on-the-rise
Hi

Is this the first time the query is run? Performance should be much better if you let the permission cache do its job. There are also some improvements that will be made specifically for evaluating READ access.

You can also improve performance if you limit the size of the result set (and probably reduce the number of permission checks).

There is no way to avoid permission checks via the public API. That is the point.

Global permissions/roles will evaluate faster -  eg. if you want everyone to have READ access to everything then set this in the permission config rather than on company home.

Andy

xerox
Champ in-the-making
Champ in-the-making
Is there a possibility to hold the permission cache when the server reboots?
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.