cancel
Showing results for 
Search instead for 
Did you mean: 

syntaxe moteur de recherche

admingl
Champ in-the-making
Champ in-the-making
Bonjour à tous,

Administrateur Alfresco depuis peu, je cherche de la doc pour mes utilisateurs concernant la zone de recherche plein texte.
Peut-on utiliser des *, des " ", des +, des -, etc… enfin existe t-il un glossaire pour affiner les recherches ?

Et est-il possible de s'affranchir de la casse ? car c'est trop chiant d'avoir des résultats différents pour "specs" et "Spécs" !

D'avance, merci de vos réponses.
16 REPLIES 16

jeanjot
Confirmed Champ
Confirmed Champ
Bonjour

Apparemment oui, et ce problème n'est pas nouveau.
Voir ce post et d'autres déjà présents dans ce forum.

Peut-être quelqu'un d'Alfresco pourrait éclaircir ces comportements ?

Notamment déjà avoir une normalisation d'utilisation entre Explorer et Share, cela serait bien (exemple du + et du AND) …

pitchounet
Champ in-the-making
Champ in-the-making
Très étonnant en effet.
Google a popularisé de façon la plus élégante les principes d'une recherche plein texte.
Il fallait simplement les appliquer dans alfresco.
Pourquoi inventer une syntaxe si ringarde…

georgess_3386
Champ in-the-making
Champ in-the-making
Bonjour,

Je viens de tracer 2 requêtes : + collé et pas au 2ème critère de recherche et dans la trace j'ai deux résultats différents ( je recherche dans le contenu du document " facture et copie" :

facture +copie
10:09:33,202 DEBUG [org.alfresco.web.bean.search.SearchContext] Query:
TYPE:"{http://www.alfresco.org/model/content/1.0}content"  AND ((@\{http\://www.alfresco.org/model/content/1.0\}name:'facture" +@\{http\://www.alfresco.org/model/content/1.0\}name:'copie" ) (TEXT:"facture" +TEXT:"copie" ))

facture + copie
10:10:04,470 DEBUG [org.alfresco.web.bean.search.SearchContext] Query:
TYPE:"{http://www.alfresco.org/model/content/1.0}content"  AND ((@\{http\://www.alfresco.org/model/content/1.0\}name:'facture" @\{http\://www.alfresco.org/model/content/1.0\}name:'copie" ) (TEXT:"facture" TEXT:"copie" ))

On voit que dans la 1ère requète, il y a 2 + qui ne sont pas dans la seconde qui réagit comme un OR.

Peut être le savez vous déjà, mais vous pouvez activer la trace en mettant :
log4j.logger.org.alfresco.web.bean.search.SearchContext=debug dans le fichier log4j.properties qui se trouve dans :
Alfresco\tomcat\webapps\alfresco\WEB-INF\classes.

La trace se trouve dans Alfresco.log dans le répertoire Alfresco (racine).

Votre résultat pourra certainement permettre aux personnes compétentes (pas moi) de comprendre et résoudre votre problème.

Bonne chance
Cdlt

georgess_3386
Champ in-the-making
Champ in-the-making
Bonjour,

Je pense que Rodel a donné la bonne solution sur un de mes POSTs :
Dans le document si vous avez  entre autres Client C1234567 ….. Bouteille et que vous recherchiez C1234567 ET Bouteille

vous pouvez coder votre requête comme suit
C1234567 +bouteille  vous retournera TOUS les documents contenant  C1234567 en premier dans le document et Bouteille après le premier argument.

Si vous voulez vous affranchir de l'ordre des critères recherchés que l'on ne connaît pas toujours (l'ordre) vous pouvez coder
+bouteille +C1234567  Cela vous retournera TOUS les documents contenant ces deux critères quelque soit leur ordre dans le document.

Le + devant un argument semble vouloir dire : présence obligatoire donc si l'on veut tous les arguments dans un ordre indifférent, il faut mettre + devant chacun d'eux pour avoir la fonction ET.

Malheureusement cela ne fonctionne QUE pour une recherche simple. Les recherches avancées (Titre, Description, auteur) ne fonctionnent pas ainsi

jayjayecl
Confirmed Champ
Confirmed Champ
Pouvez-vous donner un exemple de ce que vous voulez voir expliqué au niveau de la recherche avancée (avec le champ description par exemple).
Ainsi, testez quelques requêtes, en nous donnant aussi les traces de logs de celles-ci.

Merci

georgess_3386
Champ in-the-making
Champ in-the-making
Je ne sais si votre demande, Rodel, s'adresse à moi ou au créateur du POST.

Si c'est moi, j'ai ouvert un POST la-dessus : Recherche de 2 critères sur champ DESCRIPTION : il y a logiquement toutes les traces demandées.

Cdlt

admingl
Champ in-the-making
Champ in-the-making
Bonsoir à tous,

Je suis plutôt persévérant et à force de tests sur la recherche avancée, j'ai trouvé la règle empirique suivante.

Recherche critère "nom de fichier seulement"
       1- recherche unique    :  *texte1*
               ramène tous les fichiers contenant la suite de caractère "texte1"
       2 - recherche multiple  :  *texte1* *texte2*
               ramène tous les fichiers contenant les suites de caractère "texte1" OU "texte2"
       3 - recherche multiple :  +*texte1* +*texte2*
               ramène tous les fichiers contenant les suites de caractère "texte1" ET "texte2"
       4 - recherche multiple :  *texte1* -*texte2*
               ramène tous les fichiers contenant les suites de caractère "texte1" SAUF "texte2"

C'est aussi vrai avec l'ensemble des critères de la recherche avancée

Je ne sais pas pourquoi… mais ça marche. Je tiens mon fichier de tests à dispo de tout le monde (presque une centaine de cas de tests).
Enfin, si quelqu'un trouve un contre-exemple, je suis preneur.


Cordialement,

admingl