Cette page ne doit être appliquée que si le script vous demande de passer la migration manuelle code.20230526.CMS-ViewBasedFullTextSearch
La recherche plein texte sur les contenus se base désormais sur une vue "fulltext-search" définie au niveau de chaque type de contenu.
Cette vue contient les attributs du types de contenus qui seront indexés pour la recherche plein texte (dans champ Solr "full").
Une recherche plein texte avec le critère "Titre ou texte intégral" ou "Texte intégral" permettra de retrouver le contenu via la valeur de ses attributs uniquement si l'attribut est définie dans la vue "fulltext-search".
Suite à cette modification, une ré-indexation totale est nécessaire.
Lancer cette indexation qu'après avoir revu l'ensemble de vos propres types de contenus et/ou vos types de contenus surchargés (selon votre cas) comme décrit ci-après.
La migration assistée vous aura listé les fichiers impactés si vous en avez.
Tous les types de contenus devant être "recherchable" via un service de moteur de recherche doivent avoir une vue "fulltext-search" pour pouvoir être retrouvés via les critères "Texte intégral" ou "Titre ou texte intégral".
Pour tous vos types de contenus dans ce cas, définissez la nouvelle vue avec l'ensemble des attributs devant permettre une recherche plein texte.
Exemple :
<view name="fulltext-search" internal="true"> <attribute-ref name="title"/> <attribute-ref name="abstract"/> <attribute-ref name="content"/> <attribute-ref name="questions"> <attribute-ref name="question"/> <attribute-ref name="answer"/> </attribute-ref> <dublin-core/> </view>
Cette vue est facultative. Si non présente, le cas le champ indexé "full" sera vide.
Tous les types de contenus Ametys ont une vue "fulltext-search".
Si vous avez surchargé un type de contenu, c'est certainement pour lui ajouter des champs.
Si vous souhaitez que vos contenus puissent être retrouvés via une recherche plein texte sur la valeur des ces champs, vous devez surcharger la vue "fulltext-search" pour ajouter ces attributs.
Avec cette nouvelle vue il est possible d’indexer les attributs de type "content" (table de référence ou autre) dans le champ "full" et ainsi pouvoir rechercher par exemple un membre avec le titre d'une des ses compétences, le titre de son entité parente, ....
Exemple:
Vous avez surchargé le type de contenu "Membre des espaces projets" pour lui rajouter un champ riche (interest), un champ texte (address) et un champ de type "content" vers une table de référence (grade). Le champs "Compétences" (skills) n'est quant à lui pas utilisé dans votre cas.
Pour permettre de retrouver un membre avec ses centres d'intérêt, son adresse ou son grade sur le critère "Texte intégral", vous devrez surcharger la vue fulltext-search comme ci-dessous. Le champ "skills" peut lui être retiré puisque non utilisé.
<view name="fulltext-search" override="true"> <attribute-ref name="interest"/> <attribute-ref name="address"/> <attribute-ref name="grade"/> <remove-item ref="skills" /> </view>