Autres versions

Vous êtes ici : Développer dans K-SupPersonnalisationMoteur de recherche

Configuration de la recherche d'une fiche

Découvrez comment configurer la recherche pour un type de fiche donné

Afin de pouvoir rechercher une fiche dans le moteur de recherche, il est nécessaire de déclarer une configuration de recherche dans le contexte Spring de l'application.
Pour ce faire il faut déclarer dans le fichier de contexte du projet un bean héritant de SearchFicheConfigration et héritant du bean "searchFicheConfiguration" pour bénéficier des configurations communes à toutes les fiches.
A partir du moment où la configuration de la fiche est déclarée, il est alors possible de rechercher cette fiche. Par défaut tous les champs de la fiche sont pris en compte dans la recherche avec un boost de 1. De plus ces champs sont mis en surbrillance si le terme recherché est présent.

Dans le bean de configuration, il est possible de :
  • déclarer le type de l'objet à prendre en compte dans la recherche ainsi que son boost (propriétés objectName et objectBoost).
  • définir la liste des filtres et agrégations à utiliser au moment de la recherche (propriété filters).
  • spécifier la liste des champs à exclure lors de la recherche (propriété excludedField)
  • modifier les champs utilisés pour la recherche. Il est possible de changer le boost et la mise en surbrillance du champ (propriété fieldsSet).
Ci-dessous un exemple de configuration de bean de recherche.
<!-- Article -->
<bean id="searchArticleConfiguration" class="com.kosmos.search.query.configuration.SearchFicheConfiguration" parent="searchFicheConfiguration">
    <property name="objectName" value="article"/>
    <property name="objectBoost" value="25"/>
    <property name="fieldsSet">
        <set merge="true">
            <bean class="com.kosmos.search.query.configuration.SearchFieldConfiguration">
                 <property name="fieldName" value="fiche.article.corps"/>
                 <property name="boost" value="${search.article.corps.boost:1}"/>
            </bean>
            <bean class="com.kosmos.search.query.configuration.SearchFieldConfiguration">
                <property name="fieldName" value="fiche.article.chapeau"/>
                <property name="boost" value="${search.article.chapeau.boost:1}"/>
            </bean>
        </set>
    </property>
    <property name="filters">
        <set merge="true">
            <ref bean="searchAggregationThematique"/>
            <ref bean="searchAggregationDateArticleConfiguration"/>
        </set>
    </property>
</bean>

Mis à jour le 21 mars 2019