Vous êtes sur la page 1sur 14

AJOUT DE CHAMPS

DE MÉTADONNÉES
À LA RECHERCHE
SIMPLE ET À LA
RECHERCHE EN
DIRECT AVEC
ALFRESCO 5
 Gary Cox

 30 septembre 2015

Alfresco 5 prend en charge une version plus récente du moteur de recherche SOLR

que les versions précédentes d’Alfresco. Avec ce nouveau moteur, la recherche en

direct et la recherche filtrée ont été ajoutées au produit. Tout comme les versions

précédentes d’Alfresco, un simple champ de recherche est fourni dans Alfresco

Share pour permettre une recherche rapide de documents. Cette simple zone de

recherche permet désormais de récupérer des résultats en direct pour les

recherches de documents et de personnes. Lors de l’utilisation de cette zone de

recherche, un ensemble spécifique de champs de métadonnées est ciblé par un

modèle de requête par défaut. Cet article explique comment ces champs de
métadonnées peuvent être étendus pour rechercher des propriétés supplémentaires,

telles que des propriétés dans un modèle personnalisé.

La capture d’écran ci-dessous fournit un exemple de recherche en direct à partir de

la zone de recherche dans Alfresco Share :

Par défaut, la recherche en direct recherchera dans les champs suivants :

 cm:name, cm:title, cm:description, TEXT et TAG

La recherche simple utilise les champs suivants par défaut :

 cm:name, cm:title, cm:description,ia:whatEvent, ia:descriptionEvent, lnk:title,

lnk:description, TEXT et TAG

Ces deux recherches peuvent être personnalisées pour ajouter des champs de

métadonnées supplémentaires si nécessaire. Pour ajouter des propriétés

supplémentaires, les fichiers suivants doivent être personnalisés et configurés pour

remplacer les fichiers prêts à l’emploi :

 live-search-docs.get.config.xml
 search.get.config.xml

Dans les versions actuelles d’Alfresco, aucun de ces fichiers n’est éclaté dans le

système de fichiers à partir du fichier WAR. Toutefois, ces deux fichiers peuvent être

extraits du fichier JAR suivant :

 tomcat/webapps/alfresco/WEB-INF/lib/alfresco-remote-api-5.0.2.1.jar (le

numéro de version varie en fonction de la version Alfresco installée)

Le fichier JAR peut être extrait à l’aide d’un outil tel que 7-ZIP. Une fois le jar extrait,

les deux fichiers de configuration d’accès à la boîte se trouvent dans le chemin

d’accès suivant :

 alfresco/templates/webscripts/org/alfresco/slingshot/search/

Ces fichiers peuvent maintenant être modifiés pour ajouter des champs de

métadonnées supplémentaires si nécessaire. Une fois les fichiers mis à jour, ils

doivent être déployés dans le répertoire 'extensions' afin qu’ils remplacent la

configuration d’emballage. Si vous déployez votre code en tant que fichier AMP

personnalisé, les fichiers doivent cibler le répertoire suivant :

 tomcat/webapps/alfresco/WEB-

INF/classes/alfresco/extension/templates/webscripts/org/alfresco/slingshot/sea

rch

Pour cet article, nous allons fournir un exemple de ceci en utilisant un exemple de

modèle fourni dans le cadre de l’installation d’Alfresco qui réside dans le répertoire

suivant :

 /tomcat/shared/classes/alfresco/extension/
Supprimez « .sample » des deux fichiers suivants et l’exemple de modèle sera

démarré une fois Alfresco redémarré :

 exempleModèle.xml.sample

 exemple-modèle-contexte.xml.sample

Cet exemple de modèle ajoute un type nommé « my:sop » et inclut le champ

« my:authorisedBy ». Pour cet exemple, nous allons ajouter « my:authorisedBy » en

tant que champ dans notre liste de propriétés de métadonnées dans les modèles de

recherche en direct et de requête de recherche simple.

Avant de continuer, mettez à jour « share-config-custom.xml » pour ajouter le type

« my:sop » en tant que sous-type disponible de « cm:content ». Ensuite, créez du

contenu de test de type « my:sop » et ajoutez des valeurs à « my:authorisedBy ».

Pour référence, « share-config-custom.xml » se trouve à l’emplacement suivant :

 /tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml

La section suivante peut être modifiée pour permettre de changer le sous-typage

« cm:content » en « my:sop »:

<types>

<type name=”cm:content”>

<subtype name=”my:sop”/>

</type>

<type name=”cm:folder”>

</type>
<type name=”trx:transferTarget”>

<subtype name=”trx:fileTransferTarget” />

</type>

</types>

Pour ajouter le champ de propriété de métadonnées personnalisées

« my:authorisedBy » aux modèles de requête pour la recherche en direct et la

recherche simple. Des exemples sont fournis ci-dessous :

 live-search-docs.get.config.xml :

<search>

<default-operator>AND</default-operator>

<default-query-template>%

(cm:name cm:titlecm:description my:authorisedBy TEXT TAG)

</default-query-template>

</search>

 search.get.config.xml :
<search>

<default-operator>AND</default-operator>

<default-query-template>%

(cm:name cm:title cm:description my:authorisedBy

ia:whatEvent ia:descriptionEvent lnk:title

lnk:description TEXT TAG)

</default-query-template>

</search>

Une fois cela fait, les recherches dans la zone de recherche simple incluront la

propriété 'my:authorisedBy' dans la recherche. Dans la capture d’écran ci-dessous, la

propriété « my:authorisedBy » est le seul champ qui contient le mot « Fred » pour le

document « my:sop » « text.txt ». Il apparaîtra en conséquence dans la recherche en


direct maintenant que « my:authorisedBy » a été ajouté au modèle de requête:

Des champs supplémentaires peuvent être ajoutés au besoin, et ils seront ciblés à

partir de recherches simples et en direct. Il est également important de noter que la


liste des champs de métadonnées dans le modèle de requête peut être différente

pour la recherche en direct et la recherche simple si nécessaire.

Re: Rechercher dans Alfresco 5.2 par les


propriétés du modèle personnalisé
 
Bonjour,

J'ai eu le même problème récemment avec un aspect.

J'ai suivi ce tuto https://www.bluefishgroup.com/insights/ecm/adding-metadata-fields-


to-simple-search-and-live-search-w...

Etape 1

Récupérer ce fichier alfresco-share-services-5.2.f.jar. Il est situé ici :

<TOMCAT_HOME>/webapps/alfresco/WEB-INF/lib/alfresco-remote-api-5.0.2.1.jar.

Etape 2

L’extraire avec 7zip par exemple.

Etape 3

Aller dans ce dossier du .jar extrait :

alfresco/templates/webscripts/org/alfresco/slingshot/search/

Récupérer ces 2 fichiers

 live-search-docs.get.config.xml
 get.config.xml
Etape 4

Modifier le contenu des 2 fichiers et leur ajouter l’id de la propriété sur laquelle on
souhaite pouvoir faire des recherches.

<search>
<default-operator>AND</default-operator>

<default-query-template>%(alldoc rop_type cm:name cm:title


cm:description ia:whatEvent ia:descriptionEvent lnk:title lnk:description TEXT
TAG)</default-query-template>

</search>

Etape 5

Déplacer les 2 fichiers dans ce dossier d’installation l’Alfresco

<TOMCAT_HOME>\shared\classes\alfresco\extension\templates\webscripts\org\alfre
sco\slingshot\search\

Les répertoires doivent être créés s'ils n'existent pas.

Etape 6

Redémarrer le service Alfresco

Les recherches peuvent maintenant se faire sur la métadonnée personnalisée.

En espérant que cela fonctionne pour vous également.

Bonne journée.
Recherche avancée
Note: La recherche étant liée aux paramétrages d'indexation et au fonctionnement de
l'analyseur en place, les explications décrites ci-dessous en dépendent. L'analyseur pris en
compte est celui fourni de base avec Alfresco.

L'interface de recherche avancée est disponible via ce menu déroulant:

Description de l'interface

L'interface peut présenter différents formulaires en fonction des paramétrages et des


typologies de documents définies.

Si des modèles de contenus personnalisés ont été créés, il est possible d'avoir un formulaire
particulier permettant de chercher exclusivement sur un type de document. Ce choix est fait
par l'utilisateur via ce menu:
Par défaut, seuls deux types sont disponibles (Contenus classiques et dossiers).

Lorsque l'utilisateur sélectionne un type particulier, la page est mise à jour et un formulaire
dédié à ce type est affiché :

Si des termes sont placés dans les différents champs, Alfresco traite la recherche avec un
« ET » (exemple, un terme dans le champ Titre et un autre dans le champ Description).
 Zone « Mots clés »

Ce champ permet une recherche dans :


o le contenu
o le nom
o la métadonnée titre
o la métadonnée description
o les tags

Si plusieurs mots sont saisis dans ce champ, Alfresco utilise automatiquement


l'opérateur « OU ».

Il est possible, pour ce champ, d'indiquer le choix à Alfresco de l'autre opérateur


« ET ». Dans ce cas, il faut saisir, entre les mots « AND ».

Si l'utilisateur souhaite rechercher une chaîne exacte, il faut ajouter des guillemets de
part et d'autre de la chaîne.

Si plusieurs mots sont saisis dans ce champ, Alfresco utilise automatiquement


l'opérateur « OU ».

Il est possible, pour ce champ, d'indiquer le choix à Alfresco de l'autre opérateur


« ET ». Dans ce cas, il faut saisir, entre les mots « AND ». Si l'utilisateur souhaite
rechercher une chaîne exacte, il faut ajouter des guillemets de part et d'autre de la
chaîne.
Note: Attention : lorsque les résultats s'affichent, Alfresco laisse le champ de saisie
disponible. Si une nouvelle recherche est faite à partir de ce champ, celle-ci sera
effectuée en priorité sur les espaces collaboratifs, pas sur l'entrepôt dans son
ensemble (pour chercher dans l'entrepôt, il faut cliquer sur « Entrepôt ».
 Autres métadonnées

Une recherche est possible dans les autres champs dédiés aux métadonnées
(métadonnées de base comme titre ou description, mais aussi métadonnées
personnalisées).

Dans les champs de type « Texte », lorsque plusieurs termes sont saisis, par défaut
Alfresco prend en compte la chaîne de caractère entre guillemet, soit la chaîne
exacte. Il n'y a donc, par défaut, pas de gestion avec opérateurs pour ces
champs.

Prenons un exemple :

Un document est nommé « modification paragraphe et section.doc ».

Une saisie de « modification section* » (n'oubliez pas que les guillemets sont ajoutés
par Alfresco) ne donnera pas le document en résultat.
Une saisie de « paragraphe et section* » donnera le document en résultat.
Note: Dans les champs des métadonnées, l'utilisation des caractères génériques
peut être faite sans l'ajout des guillemets puisqu'Alfresco les ajoute lui même lors de
la construction de la requête.
 Particularité du champ « Nom »

Même si la recherche dans un champ texte est identique en comportement quel que
soit ce champ (titre, nom, description,...), le nom d'un fichier a la particularité d'avoir
l'extension (exemple « document.doc »).

Si un fichier comporte le nom « réunion de décembre.doc », une recherche dans la


métadonnée « Nom » sur « décembre » ne donnera aucun résultat. Ceci en raison
de l'extension « .doc » qui est « collée ». Pour qu'une recherche sur ce terme renvoie
le document, il faudra utiliser un caractère spécial, l'astérisque : « décembre* ».

Utilisation des caractères génériques dans la recherche avancée

L'utilisation de caractères génériques est parfois très utile (notamment dans le champ de
recherche « Nom » comme nous l'avons vu).

L'astérisque est utilisable pour indiquer le remplacement par un ou plusieurs caractères


(exemple décem* ramènera « décembre »).

Note: Étant donné qu'Alfresco ajoute automatiquement les guillemets dans les zones de
saisie dédiées aux métadonnées, l'utilisation de caractères génériques peut se faire
directement.

Recherche simple
Note: La recherche étant liée aux paramétrages d'indexation et au fonctionnement de
l'analyseur en place, les explications décrites ci-dessous en dépendent. L'analyseur pris en
compte est celui fourni de base avec Alfresco.

La recherche simple dans Alfresco Share est située en haut à droite :

Principe de fonctionnement

Lorsqu'un terme est saisi dans le champ de recherche simple, la requête est effectuée dans
les espaces collaboratifs, dans l'entrepôt dans son ensemble ou dans un espace en
particulier en fonction de la page sur laquelle l'utilisateur est positionné :

 Si l'utilisateur est positionné sur le tableau de bord général, la recherche ne se fait


par défaut QUE dans les espaces collaboratifs auxquels il a accès
 Si l'utilisateur est positionné sur l'entrepôt, la recherche se fait sur l'entrepôt dans son
ensemble (dans et hors espace collaboratif)
 Si l'utilisateur est positionné dans un espace collaboratif, la recherche se fait
exclusivement dans cet espace.

Lors de l'affichage d'un résultat, le système indique à l'utilisateur dans quelle partie de
l'entrepôt la recherche a été effectuée :

 Pour l'entrepôt dans son ensemble :

 Pour l'ensemble des espaces collaboratifs :

 Pour un espace collaboratif en particulier (exemple avec un espace nommé « D35 -


Elus Chambre »):

Cette zone de recherche effectue une requête dans:

 le contenu des documents


 le nom des documents et des espaces
 les métadonnées « Titre », « Description » des documents et des espaces.
 les tags

Utilisation des opérateurs

Si deux termes sont saisis, Alfresco va automatiquement ajouter un opérateur « OU » entre
les deux termes.

L'utilisateur peut souhaiter que l'opérateur soit « ET » au lieu de « OU », dans ce cas, il doit
l'indiquer dans sa saisie sous la forme suivante :

modification AND rendu


Alfresco va alors chercher les contenus et les espaces qui ont les deux mots « modification »
ET « rendu » dans leur contenu ou leurs métadonnées (titre, description, nom).

Note: Ce comportement par défaut peut être inversé par paramétrage. Alfresco peut alors
ajouter « ET » entre les termes lors de la saisie de plusieurs termes.
Note: Si plusieurs termes sont saisis avec des opérateurs différents, il est important
d'indiquer à Alfresco l'ordre de traitement par l'ajout de parenthèses (exemple: (eau AND
environnement) OR assainissement).

Utilisation des caractères génériques

Les caractères génériques (appelés aussi wild cards) pouvant être utilisé sont:

 l'astérisque (*): peut être utilisé en fin de chaîne afin de remplacer un ou plusieurs
caractères.
 le point d'interrogation : peut être utilisé en milieu de chaîne afin de remplacer un et
un seul caractère.
Note: L'astérisque ne permet pas de remplacer un espace, seuls les chiffres et les lettres
sont pris en compte.
Note: L'utilisation des caractères génériques doit être faite avec l'ajout de guillemets en
début et fin de chaîne (exemple : « document* »). Sans l'ajout des guillemets, la recherche
ne renverra rien.

Utilisation des guillemets

Lorsque l'on souhaite trouver une expression exacte il faut utiliser les guillemets pour
indiquer à Alfresco de prendre en compte la chaîne complète.

D'autres cas nécessitent parfois l'utilisation des guillemets. Par exemple avec les mots
comportant des tirets. Exemple avec pré-requis : si l'utilisateur saisit directement ce terme
sans guillemet, Alfresco ne retournera pas les résultats escomptés. Il faut indiquer « pré-
requis ».

En fait, Alfresco aura indexé deux termes: pré et requis. D'ailleurs, si une recherche est faite
sur pré uniquement ou requis, le résultat sera positif.

Cas particuliers liés à la recherche simple

Certains caractères utilisés sans avoir recours aux guillemets, comme le point ou le slash (/)
ne permettent pas de générer de résultat.

https://www.opera-collaboratif.chambres-
agriculture.fr/aide/Projets/APCA_Alfresco/APCA_modif_client/Fonctions_generiques/concepts/guid
eUtilisationAlfrescoShare.html

Vous aimerez peut-être aussi