Apache SOLR recherche par catégorie

J’utilise apachesolr-1.4.1 et jdk1.6.0_14.

J’ai le scénario suivant. J’ai 3 catégories de données indexées dans SOLR, à savoir VILLES, ÉTATS, PAYS. Lorsque j’interroge les données de SOLR, j’ai besoin des résultats de recherche de SOLR en fonction des critères suivants:

Dans une seule requête à SOLR, j’ai besoin de données extraites de SOLR regroupées par catégorie avec un nombre de résultats prédéfini pour chaque catégorie.

Comment puis-je spécifier cette condition dans SOLR?

J’ai essayé d’utiliser la fonctionnalité SOLR Field Collapsing, mais je ne parviens pas à obtenir la sortie souhaitée de SOLR.

Veuillez suggérer.

Ma solution n’est pas exactement ce que vous avez demandé, mais ce que je pense de ce que SOLR fait de mieux, à savoir la recherche en texte intégral. Au lieu de regrouper les résultats par «catégorie», je vous suggère de classer les résultats par score de pertinence, mais également de fournir un nombre de facettes pour les valeurs des catégories. Dans mon expérience, les utilisateurs attendent une “recherche” pour se comporter comme Google, avec les meilleurs résultats au sumt. La forme différente de cette norme confond l’utilisateur dans la plupart des cas.

Si vous voulez exactement ce que vous avez demandé (résultats réels regroupés par catégorie), vous pouvez utiliser une firebase database relationnelle et faire un group_by ou écrire une requête de fonction personnalisée avec SOLR (je ne peux pas vous le dire car je ne l’ai jamais fait).

Plus d’infos: indexez les données avec les champs appropriés, par exemple, nom, population, etc. Mais ajoutez également un champ appelé “catégorie”, qui aurait une valeur de CITIES, STATES ou COUNTRIES. Effectuez ensuite une recherche SOLR standard, qui renverra les résultats par ordre de pertinence, c’est-à-dire les meilleurs résultats en haut. Dans le cadre de la requête, vous pouvez spécifier une facet.field=category , qui facet.field=category pour les résultats de recherche pour chacune des catégories données (dans la section des résultats “facette”). Dans l’interface utilisateur, vous pouvez ensuite créer des liens pour chaque facette de catégorie qui effectue la recherche originale plus &fq=category:CITIES , etc., limitant ainsi les résultats à cette seule catégorie. Voir l’ aperçu des facettes sur le wiki SOLR pour plus d’informations.