J'ai environ 100 000 documents indexés. Mais je ne retourne que 100 documents à l'aide de lignes = 100. Le nombre de facettes est retourné pour la catégorie, cependant renvoyer les comptes pour tous les documents indexés. P>
Pouvons-nous en quelque sorte limiter les facettes à l'ensemble de résultats renvoyés? I.E 100 rangées seulement? P> / SELECT /? Q = *: * & ROWS = 100 & Facet = On & Facet.field = Catégorie code> P>
4 Réponses :
Désolé, mais je ne pense pas que ce soit possible. Les facettes sont toujours basées sur tous les documents correspondant à la requête. P>
Je pense que c'est la réponse à ma requête et il est en effet très malheureux que cette fonctionnalité n'ait pas encore été mise en œuvre dans Solr. Les hacks énoncés dans l'autre question liée ci-dessus ne sont également pas vraiment dignes, sur un serveur de production avec d'énormes données. J'apprécierais si les créateurs de SOLR peuvent mettre en œuvre cette fonctionnalité dans un proche avenir
Pas une vraie réponse, mais peut-être mieux que rien: la fonctionnalité de regroupement des résultats (départ du coffre!): P>
http://wiki.apache.org/solr/fieldCollaping p>
Où facet.field = la catégorie est similaire à la catégorie Group.field = et vous n'obtiendrez que autant de groupes («Hits facettes») que vous avez spécifié! P>
Si vous exécutez toujours la même requête Dites-nous si L'ordre que Solr utilise est la même chose dans la facette que dans la requête : em>. p> p> (q = *: *) code>, vous pouvez peut-être utiliser facet.limit, par exemple:
Pour répondre à votre question en premier - oui, la commande est la même dans la facette que dans la requête. Cependant, ici, nous ne pouvons pas utiliser facet.limit comme facette.limit ne limite que le nombre de facettes à revenir. Cela ne limite pas les Resultset. Alors, sélectionnez /? Q = *: * & Rows = 100 & Facet = On & Facet.field = Catégorie & Facet.L Imit = 100 ne renvoie que 100 valeurs de catégorie. Il ne limitera pas les Resultats à 100, de même que l'exigence ici.
Down voté comme facette.limit ne limite que le nombre de facettes retournées, pas les lignes non agiées, comme le souligne le commentaire ci-dessus
Je ne pense pas que cela soit possible de manière directe, comme l'a souligné Pascal. P>
Je peux voir deux façons d'y parvenir: p>
Méthode I: Faites le comptage de vous-même visiter les 100 résultats renvoyés. Ceci est très facile et rapide s'ils sont des champs catégoriques, mais plus difficiles s'ils sont des champs de texte qui doivent être tokenized, etc. P> li>
Méthode II: Faites deux passes: p>
Sélectionnez /? q = : em> & facet = on & facet.field = Catégorie & FQ = ID: (312
Ou 28 ou 1231 ...) code> li>
ol> li>
ol>
Le premier est bien plus efficace et je recommanderais pour les gorgées non textuelles. La seconde est calculée en calcul mais a l'avantage de travailler pour tous les types de champs OD. P>
Dupliqué possible de Comment filtrer les résultats en fonction de l'ordre dans Solr? < / a>
Si vous vous demandez, LAKH == 100 mille.