cancel
Showing results for 
Search instead for 
Did you mean: 

Recherches avec catégories: comment accélérer?

hbf
Champ on-the-rise
Champ on-the-rise
Bonsoir,

Est-ce quelqu'un parmi vous a une idée comment on peut améliorer la performance d'une recherche de catégories avec quelques clause "AND" et "OR"?

Par example

PATH:"/cm:generalclassifiable//cm:AFRICA/member" AND PATH:"/cm:generalclassifiable//cm:Another_x0020_category/member"

En ce moment, des recherches pareilles (avec 4 "AND" ou "OR" au maximum) prennent, dans un system d'environs 10'000 "nodes", une à trois secondes comme admin, le résultat embrassant une douxaine de "nodes". Comme j'utilise le résultat pour une réponse d'AJAX, ça devrait être beaucoup plus vite.

Peut-être un truc de configuration ehcache ou Lucene aiderait?

Merci à tous,
Gaspard
6 REPLIES 6

michaelh
Champ on-the-rise
Champ on-the-rise
Bonjour,

Avant de se poser la question du comment, je me pose toujours celle du "où". Est-ce que l'index lucene est stocké en local ou sur un lecteur distant ?
Ca évitera de partir sur une fausse piste alors que l'architecture ne serait pas bonne (l'index doit être forcément en local pour des raisons de performance).

hbf
Champ on-the-rise
Champ on-the-rise
Avant de se poser la question du comment, je me pose toujours celle du "où". Est-ce que l'index lucene est stocké en local ou sur un lecteur distant ?
L'index Lucene est definitivement stocké en local. C'est une connection directe à travers de l'Alfresco Content Management Java API, c'est-à-dire que mon application se trouve dans le même process que le "repository".

rguinot
Confirmed Champ
Confirmed Champ
A titre d'infos, pouvez vous nous fournir des éléments d'architecture de déploiement, les paramètres JVM que vous utilisez, et également le nombre de file handles que vous avez donné au user qui "lance" Alfresco ?

hbf
Champ on-the-rise
Champ on-the-rise
A titre d'infos, pouvez vous nous fournir des éléments d'architecture de déploiement, les paramètres JVM que vous utilisez, et également le nombre de file handles que vous avez donné au user qui "lance" Alfresco ?

Premièrement, merci beaucoup à vous, rguinot et MichaelH, pour m'aider içi, j'apprécie beaucoup.

Quant à votre question, mon "file" catalina.sh dit

CATALINA_OPTS="$CATALINA_OPTS -server"
CATALINA_OPTS="$CATALINA_OPTS -Xmx2560M"
CATALINA_OPTS="$CATALINA_OPTS -XX:PermSize=128m -XX:MaxPermSize=256m"

et l'ordinateur, un système Linux, a 4 GB de RAM et deux processeurs "AMD Athlon™ 64 X2 Dual Core Processor 5600+".

Un "sysctl -a" me done:

fs.file-nr = 1280   0   366813
fs.file-max = 366813

…ce qui me semble okay, non?

Gaspard

rivarola
Champ on-the-rise
Champ on-the-rise
Bonjour Gaspard,

Est-ce que tu as les mêmes temps de réponse en mettant le chemin complet de tes catégories au lieu d'utiliser // dans le PATH ?
Est-ce que tu obtiens les mêmes temps de réponse en lançant directement la requête depuis le NodeBrowser ?

hbf
Champ on-the-rise
Champ on-the-rise
Pardon pour le delai, j'avais beaucoup d'autre choses à faire, mais me voilà de retour.

Est-ce que tu as les mêmes temps de réponse en mettant le chemin complet de tes catégories au lieu d'utiliser // dans le PATH ?
Oui, le résultat est le même (après la première foi que je lancé la recherche.

Est-ce que tu obtiens les mêmes temps de réponse en lançant directement la requête depuis le NodeBrowser ?

Même chose. (Je ne crois pas que ce soit un problème de permission car je lance la recherche comme administrateur 'admin'.)

Après de la recherche sur l'internet et dans l'implémentation de "PATH" en Alfresco, j'ai essayé de lancé, au lieu de

PATH:"/cm:generalclassifiable//cm:Switzerland/member"

une recherche de la forme

PARENT:"workspace://SpacesStore/d0ac2fe8-a33d-11dc-bf1b-335d0754ba85"

ce qui est beaucoup plus vite!

Cette recherche utilise le fait que tous les nodes catégorisés sous Switzerland (par example) sont (dans le store ADM, voir ADMLuceneIndexerImpl.java) enregistrés comme "enfants" de la node et ainsi une rechere PARENT:"<noderef de Switzerland>" les trouve.

Deux choses: La recherche évidemment trouve aussi des subcatégories (s'il y en a). Pas beau, il fait s'en débarrasser (et je ne sais pas encore comment). Deuxièment, la recherche ne trouve pas les nodes catégorisés avec des sous-catégories.

J'espère que ces informations aident à d'autres!

Merci à tous,
Gaspard

P.S. Un conseil: Il faut faire attention avec les parenthèses: La recherche

PARENT:"workspace://SpacesStore/d0ac2fe8-a33d-11dc-bf1b-335d0754ba85" AND NOT PARENT:"workspace://SpacesStore/9dc174ed-a747-11dc-a370-835e5c383006"

marche, mais

PARENT:"workspace://SpacesStore/d0ac2fe8-a33d-11dc-bf1b-335d0754ba85" AND (NOT PARENT:"workspace://SpacesStore/9dc174ed-a747-11dc-a370-835e5c383006")

dans calmement 0 résultat.
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.