Exclure des types de contenus des résultats de recherche

Bonjour, 

Je cherche la possibilité d'exclure des types de contenus des résultats de la recherche générale. 

Par exemple, il n'est pas pertinent que les médias ou les fiches profil remontent dans les résultats.

Par avance merci

16 pts
fabrice mathieu on 11/17/20 at 11:18 AM

Bonjour,

dans l'administration centrale/propriétés/recherche vous avez la liste des types de contenus recherchables et ceux qui générent une facette.

Vous pouvez exclure certains types de contenu mais pas tous :

  • médias ne semblent pas être désindéxables
  • la fiche profil oui mais uniquement en désindexant tous les contenus utilisateur

Il semblerait en regardant les options possible dans cette interface que les types de contenu stockés en base ne peuvent pas être désindéxés.

Je ne sais pas s'il existe une option pour forcer ce paramétrage via les fichiers de paramétrage...

1 pt
Thomas LEGAT on 11/17/20 at 3:49 PM

Il y a soit comme indiqué dans les propriétés soit en spécifique ça se fais très bien (2/3 lignes)

Philippe SERRES on 11/18/20 at 11:01 AM

Oui je sais bien ce qui existe en propriétés.

Passer par du spécifique pour affiner le moteur de recherche - qui est crucial pour nos clients - me semble difficilement défendable auprès de ceux-ci 

0 pts

Une question pour Jalios (Frédéric Touitou , Alain D'heygère )

Pourquoi est il impossible de décocher de la recherche les DBData (contenus & contenus utilisateurs)?

Je n'ai rien trouvé dans la base de connaissances 😉

Merci d'avance,

1 pt
Manager Alain D'heygère on 11/18/20 at 3:34 PM

Bonjour,

Dans la recherche par défaut, on ne peut pas exclure (typesOff) les types en base, c'est une limitation (cf : Quelles sont les limitations des publications stockées en base avec JPlatform 10 ?) qui est due à la manière dont sont récupérés ces contenus via Hibernate (polymorphisme). L'exclusion nécessiterait de filtrer les résultats, ce qui dégraderait les performances.

Vous pouvez exclure la recherche fulltext dans les champs d'un type de contenu en base, ce qui empêche leur indexation.

1 pt
Philippe SERRES on 11/20/20 at 10:03 AM

Bonjour Alain D'heygère , merci pout ce cadrage technique. 

Cette limitation va t'elle être levée? Olivier Dedieu 

Elle est en effet contradictoire avec l'argument d'un moteur de recherche performant vendu à vos clients : Il y a trop de résultats, la pertinence est dégradée et l'usage en devient compliqué (d'un point de vue utilisateur lambda)

Expert Olivier Dedieu on 11/20/20 at 10:34 AM

Comme déjà expliqué par Alain D'heygère pour les types stockés en base, la gestion du polymorphisme fait que la recherche dans Hibernate étend systématiquement aux sous-types. Nous ne pouvons pas changer ce comportement d'Hibernate (de même que nous ne pouvons pas changer le mode de gestion du polymorphisme).

L'alternative serait donc de filtrer les résultats mais l'impact sur les perfs peut être important (tout dépend évidement du filtrage).

Dans votre cas, si ce sont les Media que vous ne voulez pas faire remonter dans les résultats de recherche, alors que par ailleurs vous recherchez des DBFileDocument (super class de Media), vous pouvez faire le filtrage avec un QueryFilter qui peuvent opérer depuis JPlatform 10 sur les DBData (cf. JPlatform 10 - Les nouveautés techniques back-end)

0 pts