syntaxe moteur de recherche

cancel
Showing results for 
Search instead for 
Did you mean: 
jeanjot
Active Member

Re: syntaxe moteur de recherche

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
Member II

Re: syntaxe moteur de recherche

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
Member II

Re: syntaxe moteur de recherche

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
Member II

Re: syntaxe moteur de recherche

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
Active Member II

Re: syntaxe moteur de recherche

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
Member II

Re: syntaxe moteur de recherche

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
Member II

Re: syntaxe moteur de recherche

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