2011-12-13 1 views
0

Nous utilisons Solr 1.4 pour produire des résultats pour les requêtes utilisateur. Les résultats sont extraits d'un index contenant environ 500 000 documents. L'index est constamment mis à jour avec de nouveaux documents et les anciens documents expirent.Classement des résultats par pertinence ET catégorie

Les pages de résultats sont des listes de documents triés par pertinence (score), calculés automatiquement par solr en fonction de la requête de l'utilisateur. Chaque document appartient à une seule catégorie (par exemple ingénierie, finances, administration, mathématiques, etc.) et l'identifiant de catégorie est stocké et indexé par Solr. Ce que nous voulons, c'est que les documents soient triés sur la pertinence, mais aussi être pondérés d'une manière ou d'une autre afin qu'au moins la première page des résultats (10, 20 ou 50) contienne des documents du plus grand nombre possible. comme peu de documents de la même catégorie sont consécutifs.

Nous avons beaucoup cherché, mais n'avons pas réussi à trouver un scénario réalisable.

Merci d'avance pour vos idées. GK

Répondre

1

Au meilleur de mes connaissances, ce n'est pas possible dans Solr. Je veux dire, que si le terme de recherche est beaucoup plus applicable aux éléments d'ingénierie que toute autre chose, vous auriez besoin de stimuler artificiellement les autres catégories de différentes façons en fonction du résultat de la recherche.

Vous pouvez faire quelque chose de similaire dans la dernière version en utilisant field collapsing. C'est à dire. vous obtiendrez seulement un nombre X de hits d'une catégorie, puis un lien vers 'afficher plus comme ceci'.

Vous pouvez également faire plusieurs recherches, une pour chaque catégorie et les «mélanger» vous-même.

Questions connexes