cancel
Showing results for 
Search instead for 
Did you mean: 

Recherche avec Lucene

libman
Champ in-the-making
Champ in-the-making
Je suis entraîne de développer un extension pour faire des recherches personnaliser. J'utilise des webscripts et ajax.Je veux chercher les fichiers avec un certaine string (1) d'un space d'un certaine string (2).

Pour faire le premier, j'utilise le suivant:
TYPE:"{http://www.alfresco.org/model/content/1.0}folder" +PATH:"/app:company_home/cm:LesContrats//*"+@cm\:name:"*a*"

Je voulais donc ajouter un deuxième critère. Pour cela je dois avoir le parent des résultats. Je n'ai pas succéder à ajouter PARENT ou ANCESTOR. Aussi que le combiner avec une critère pour le nom du fichier.

Je peux bien sure manuellement filtres les résultats, mais il y a surement une possibilité pour faire ce que je demande dans Lucene.

Merci.
6 REPLIES 6

libman
Champ in-the-making
Champ in-the-making
J'ai le suivant dans javascript:
(1) Je cherche les folders avec le nom "LaPoste" et je l'exécute (lucene search).
(2) Je fais un for() loop ou je vais effectuer un recherche lucene qui va chercher chaque résult du premier recherche et ajoute les résultats dans une nouvelle liste.

Dans étape 2:
var objects = search.luceneSearch(folderQuery);
for(entry=0; i<objects.length; entry++){
   //model.projectQuery+=search.luceneSearch("???"+objects[i]+"???");
}
Quand j'affiche un entry je reçois:
Node Type: {http://www.alfresco.org/model/content/1.0}folder Node Ref: workspace://SpacesStore/fc48b0f4-6b7d-4f64-a124-9c17523de407
Comment est-ce que je peux chercher des fichiers (content) qui se trouvent dans cet dossier? Donc quel est le syntax pour recherche un node, du genre
"/Node Type: {http://www.alfresco.org/model/content/1.0}folder Node Ref: workspace://SpacesStore/fc48b0f4-6b7d-4f64-a124-9c17523de407/*"
du façon
+PATH:"/app:company_home/cm:Clients/*"

libman
Champ in-the-making
Champ in-the-making
OK, donc j'ai le query
TYPE:"{http://www.alfresco.org/model/content/1.0}folder" +PATH:"/app:company_home/cm:Backups/*/*"
Mais, pour faire le loop, le objects.length donne 0. Comment est-ce que je peux faire un loop avec les résultats d'un recherche Lucene:
var objects = search.luceneSearch(query);
et quelque chose comme:
for(entry=0; entry<objects.length; entry++){
   newQuery+=' PARENT:"' + objects[entry].node + '"';
}
Merci.

libman
Champ in-the-making
Champ in-the-making
OK, j'avais oublier quelque chose bête. Il marche quand même. J'ai le suivant:
backupsQuery+='TYPE:"{http://www.alfresco.org/model/content/1.0}folder" +PATH:"/app:company_home/cm:Clients/*"+@cm\\:name:"*'+args.searchString+'*"';
      
projectQuery+='TYPE:"{http://www.alfresco.org/model/content/1.0}folder" +PATH:"/app:company_home/cm:Clients/*/*"';
      
var objects = search.luceneSearch(backupsQuery);
model.projectQueryLength=objects.length;
   
for(entry=0; entry<objects.length; entry++){
   projectQuery+=' PARENT:"' + objects[entry].nodeRef + '"';
}
Mais je reçois tous les spaces de les spaces ou il fait les recherches. Quel est le problème?

libman
Champ in-the-making
Champ in-the-making
' +(PARENT:"' + objects[entry].nodeRef + '"' … et espace entre chaque élément parent (OR) et ça marche!

libman
Champ in-the-making
Champ in-the-making
Une petite question, j'ai un model avec propreté "backup_name". J'ai fait "+@cm\\:backup_name:", mais aucune résultat.

Quelqu'un a un idée?

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

Cette propriété backup_name est-elle vraiment dans le content model d'Alfresco (préfixe cm) ? N'est-elle pas plutôt dans un modèle custom ?