Aperçu
Fess offre une puissante fonction de recherche en texte intégral. Cette section décrit les paramètres détaillés et les méthodes d’utilisation de la fonction de recherche.
Affichage du nombre de résultats de recherche
Comportement par défaut
La valeur par défaut de query.track.total.hits est 10000. Ainsi, lorsque les résultats de recherche dépassent 10 000 éléments, le nombre affiché sur l’écran des résultats est « environ 10 000 ou plus ». Il s’agit du paramètre par défaut qui limite à la valeur de query.track.total.hits le nombre exact de correspondances totales calculé par OpenSearch, afin de réduire l’impact sur les performances lors de recherches à grande échelle.
Exemple de recherche

Affichage du nombre exact de correspondances
Pour afficher le nombre exact de correspondances au-delà de 10 000 éléments, modifiez le paramètre query.track.total.hits dans fess_config.properties.
Dans l’exemple ci-dessus, le nombre exact de correspondances peut être obtenu jusqu’à 100 000 éléments. Le seuil à partir duquel l’affichage indique « environ N ou plus » évolue également en fonction de cette valeur de configuration. Cependant, une valeur élevée peut affecter les performances.
Avertissement
Une valeur trop élevée peut dégrader les performances de recherche. Veuillez définir une valeur appropriée en fonction de votre situation d’utilisation réelle.
Options de recherche
Recherche de base
Dans Fess, une recherche en texte intégral est exécutée simplement en saisissant des mots-clés dans la zone de recherche. La saisie de plusieurs mots-clés effectue une recherche ET (AND).
Dans l’exemple ci-dessus, les documents contenant à la fois « recherche » et « moteur » sont recherchés.
Recherche OU (OR)
Pour effectuer une recherche OU, insérez OR entre les mots-clés.
Recherche NON (NOT)
Pour exclure un mot-clé spécifique, ajoutez - (signe moins) devant le mot-clé.
Recherche de phrase
Pour rechercher une phrase exacte, entourez-la de guillemets doubles.
Recherche par champ spécifique
Vous pouvez effectuer une recherche en spécifiant des champs particuliers.
Principaux champs :
title: Titre du documentcontent: Corps du documenturl: URL du documentfiletype: Type de fichier (par exemple : pdf, html, doc)label: Étiquette (classification)mimetype: Type MIME (par exemple : text/html, application/pdf)filename: Nom du fichierhost: Nom d’hôtesite: Site (combinaison du nom d’hôte et du chemin)lang: Langue
Les champs de recherche supplémentaires peuvent être ajoutés via query.additional.search.fields dans fess_config.properties.
Recherche avec caractères génériques
Les recherches utilisant des caractères génériques sont possibles.
*: Zéro ou plusieurs caractères arbitraires?: Un caractère arbitraire
Recherche floue
Une recherche floue qui gère les fautes de frappe et les variations d’orthographe est disponible. Par défaut, pour les mots-clés de 4 caractères ou plus, une requête de recherche floue est exécutée en complément de la recherche normale.
En spécifiant une valeur numérique après ~, vous pouvez spécifier la distance d’édition.
Tri des résultats de recherche
Par défaut, les résultats de recherche sont triés par ordre de pertinence. Vous pouvez spécifier différents ordres de tri via les paramètres de l’interface d’administration ou les paramètres de l’API.
Ordre de pertinence (
score, par défaut)Ordre chronologique des mises à jour (
last_modified)Ordre chronologique de création (
created)Ordre de taille de fichier (
content_length)Ordre alphabétique par nom de fichier (
filename)Ordre par nombre de clics (
click_count)Ordre par nombre de favoris (
favorite_count)
Les champs de tri supplémentaires peuvent être ajoutés via query.additional.sort.fields dans fess_config.properties.
Recherche à facettes
La recherche à facettes vous permet d’affiner les résultats de recherche par catégorie. Par défaut, le champ étiquette (label) est défini comme facette.
Vous pouvez affiner les résultats de recherche en cliquant sur les facettes affichées sur le côté gauche de l’écran de recherche.
Mise en surbrillance des résultats de recherche
Les mots-clés de recherche sont mis en surbrillance dans le titre et le résumé des résultats de recherche. Les paramètres de mise en surbrillance peuvent être personnalisés dans fess_config.properties.
query.highlight.tag.pre/query.highlight.tag.post: Balises encadrant les zones mises en surbrillance (par défaut :<strong>/</strong>)query.highlight.fragment.size: Nombre de caractères par fragment mis en surbrillance (par défaut :60)query.highlight.number.of.fragments: Nombre maximum de fragments affichés (par défaut :2)
Les champs utilisés comme source du résumé (snippet) mis en surbrillance sont définis par query.highlight.content.description.fields (par défaut : hl_content,digest).
Fonction de suggestion
Lorsque vous saisissez des caractères dans la zone de recherche, des suggestions (auto-complétion) s’affichent. Les suggestions sont générées en fonction des mots-clés de recherche précédents et des mots-clés de recherche populaires.
La fonction de suggestion peut être activée/désactivée dans les paramètres « Général » de l’interface d’administration.
Journaux de recherche
Fess enregistre toutes les requêtes de recherche et les journaux de clics. Ces journaux peuvent être utilisés aux fins suivantes :
Analyse et amélioration de la qualité de recherche
Analyse du comportement des utilisateurs
Identification des mots-clés de recherche populaires
Identification des mots-clés sans résultats de recherche
Les journaux de recherche et les journaux de clics sont stockés dans des index OpenSearch dont le nom commence par le préfixe fess_log (les requêtes de recherche dans l’index fess_log.search_log, les journaux de clics dans l’index fess_log.click_log). Ces journaux peuvent être visualisés et analysés dans OpenSearch Dashboards. Fess inclut un fichier de définition de tableau de bord pour la visualisation. Consultez Configuration de la visualisation des journaux de recherche pour plus de détails.
Optimisation des performances
Configuration du délai d’expiration de recherche
Vous pouvez configurer le délai d’expiration de recherche. La valeur par défaut est de 10 secondes.
Nombre maximum de caractères de requête de recherche
Pour des raisons de sécurité et de performance, vous pouvez limiter le nombre maximum de caractères d’une requête de recherche.
Utilisation du cache
Fess lui-même ne dispose d’aucune fonction de mise en cache des résultats de recherche (réponses de recherche). Toutefois, OpenSearch en arrière-plan fournit un cache de requêtes de partition (shard request cache) et un cache de requêtes (query cache) au niveau du moteur, ce qui contribue à réduire le temps de réponse pour des recherches aux mêmes conditions. Ces fonctionnalités étant propres à OpenSearch, ajustez-les si nécessaire via la configuration d’OpenSearch.
Dépannage
Les résultats de recherche ne s’affichent pas
Vérifiez que l’index a été créé correctement.
Vérifiez que l’exploration s’est terminée normalement.
Vérifiez que les documents cibles ne sont pas exclus pour l’utilisateur actuel (y compris les invités) par le filtrage basé sur les rôles et les permissions.
Vérifiez qu’OpenSearch fonctionne normalement.
La recherche est lente
Vérifiez la taille de la mémoire heap d’OpenSearch.
Optimisez le nombre de partitions et de répliques de l’index.
Vérifiez la complexité de la requête de recherche.
Vérifiez les ressources matérielles (CPU, mémoire, E/S disque).
Des résultats peu pertinents s’affichent
Ajustez les paramètres de boost (
query.boost.title,query.boost.content, etc.).Revoyez les paramètres de recherche floue.
Vérifiez la configuration de l’analyseur.
Si nécessaire, consultez le support commercial.
Vous pouvez également améliorer la précision de la recherche en utilisant Rank Fusion. Consultez Configuration du Rank Fusion pour plus de détails.