2010-05-31 5 views
0

On m'a demandé de faire une évaluation de Solr comme alternative à un moteur de recherche commercial.Tri personnalisé Solr

L'application a maintenant une manière très particulière de trier les résultats en utilisant quelque chose appelé "buckets".

Je vais essayer d'expliquer avec un peu de détails:

Dans l'interface, ils ont 2 champs: « quoi » et « où ».

Les deux champs sont en réalité des ensembles de champs (quoi = catégorie, nom, coordonnées ... et où = pays, état, région, ville ...) de sorte que la fonction copyfield de Solr vient immédiatement à l'esprit. Maintenant, basé sur le champ généré la correspondance réelle, le résultat devrait se retrouver dans un compartiment spécifique. En particulier le premier seau contient tous les documents de résultat qui ont une correspondance exacte sur le champ catégorie, dans le deuxième compartiment toutes les correspondances exactes sur le nom, les troisièmes correspondances partielles sur la catégorie, les quatrièmes correspondances partielles sur le nom, les cinquièmes correspondances etc ... Ensuite, dans chacun de ces compartiments de premier niveau, tous les résultats sont placés dans des compartiments de deuxième niveau en fonction de l'emplacement correspondant: ville, région, puis province, etc. Pour compliquer encore plus les choses, il y a aussi un seau de troisième niveau où les résultats sont placés en fonction de la valeur d'un champ de classement: tous les documents avec la valeur 1 dans le champ de classement vont dans le compartiment 1 et ainsi de suite. Et enfin les résultats devraient être randomisés dans le seau de troisième niveau ...

En plus de cela, ils veulent évidemment un support pour les facettes et la pagination. Toutes mes excuses pour le long courrier, mais j'apprécierais grandement vos commentaires et/ou suggestions. Je suis conscient que ceci est un problème très particulier, mais tout ce qui me pointe dans la bonne direction est utile.

Cheers, Tom

+0

Je ne vois pas comment les facettes et la pagination pourraient avoir du sens dans une telle structure. –

Répondre

1

Il semble que l'application utilise cet algorithme complexe de tri comme un indicateur de pertinence. Solr utilise la notation pour effectuer ce type de tri, et vous donne plusieurs façons de contrôler l'équation de notation. Par exemple, vous pouvez classer les expressions plus hautes que les correspondances de mots-clés, donner plus de poids à certains champs, etc. Vous pouvez même écrire votre propre code personnalisé et le brancher assez facilement.

Il se peut que vous ne puissiez pas répliquer la commande exacte de votre application actuelle avec cette approche, mais ce n'est pas nécessairement une mauvaise chose.