Development #43781
recherche : mieux prendre en compte les titres de page
0%
Description
Exemple sur la documentation Publik, je souhaite accéder à une page de documentation dont je connais le titre, en l'occurrence “Utiliser les filtres”. Je tape "utiliser les filtres" dans la cellule de recherche et la page ne ressort pas.
Fichiers
Révisions associées
Historique
Mis à jour par Paul Marillonnet il y a presque 4 ans
Bon il semblerait que ce soit déjà le cas, le titre de l'élément IndexedCell (qui est le titre de la page de la cellule combo) fait partie du vecteur de recherche.
À mon avis, le système de pondération fait que les titres ne ressortent pas parmi les X premiers résultats, montrés à l'écran, lorsque je fais la recherche.
Si on est d'accord que le constat dans la description de ce ticket est problématique, je vais commencer par tester en local quelque chose comme
diff --git a/combo/apps/search/utils.py b/combo/apps/search/utils.py
index ff4942c7..2a43d861 100644
--- a/combo/apps/search/utils.py
+++ b/combo/apps/search/utils.py
@@ -113,7 +113,7 @@ def search_site(request, query, pages=None):
if connection.vendor == 'postgresql':
config = settings.POSTGRESQL_FTS_SEARCH_CONFIG
- vector = SearchVector('title', config=config, weight='A') + SearchVector('indexed_text', config=config, weight='A')
+ vector = SearchVector('title', config=config, weight='A') + SearchVector('indexed_text', config=config, weight='B')
query = SearchQuery(query, config=config)
qs = IndexedCell.objects.annotate(rank=SearchRank(vector, query)).filter(rank__gte=0.3).order_by('-rank')
else:
et voir si ça améliore la situation.
Mis à jour par Frédéric Péters il y a presque 4 ans
Le constat "c'est dommage de ne pas trouver une page/certaines pages en tapant leur titre dans le moteur de recherche" est partagé, go.
Mis à jour par Paul Marillonnet il y a presque 4 ans
- Sujet changé de recherche : indexer les titres de page ? à recherche : mieux prendre en compte les titres de page
Mis à jour par Paul Marillonnet il y a presque 4 ans
- Fichier 0001-search-provide-title-precedence-over-content-for-ind.patch 0001-search-provide-title-precedence-over-content-for-ind.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Rebasé sur #43916.
Mis à jour par Paul Marillonnet il y a presque 4 ans
- Fichier 0001-search-provide-title-precedence-over-content-for-ind.patch 0001-search-provide-title-precedence-over-content-for-ind.patch ajouté
Avec quelques vérifications supplémentaires qui me paraissent nécessaires dans le test.
Mis à jour par Paul Marillonnet il y a presque 4 ans
- Statut changé de Solution proposée à En cours
Et effet de bord sur les autres tests de recherche car la différence de pondération entre A (=1) et B (=0.6) sur les vecteurs de recherche est trop forte. Je regarde si avec une graduation plus compacte en dessous de 1 on peut arranger l'affaire.
Mis à jour par Paul Marillonnet il y a presque 4 ans
- Fichier 0001-search-provide-title-precedence-over-content-for-ind.patch 0001-search-provide-title-precedence-over-content-for-ind.patch ajouté
- Statut changé de En cours à Solution proposée
Paul Marillonnet a écrit :
Je regarde si avec une graduation plus compacte en dessous de 1 on peut arranger l'affaire.
En adaptant à cette diminution de poids le filtre sur le rang des résultats de recherche on y arrive.
Mis à jour par Frédéric Péters il y a presque 4 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Paul Marillonnet il y a presque 4 ans
commit 5356dbde4eea33534c554c93c2757740a562fdb4 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Jun 10 10:32:33 2020 +0200 search: provide title precedence over content for indexed cells (#43781)
Mis à jour par Paul Marillonnet il y a presque 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
Mis à jour par Frédéric Péters il y a presque 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
search: provide title precedence over content for indexed cells (#43781)