Solr résultats de la recherche et la récupération de la position du document

StackOverflow https://stackoverflow.com/questions/4594218

  •  15-10-2019
  •  | 
  •  

Question

J'ai un index Solr en utilisant SolrNet consulté le, et je voudrais récupérer l'index (position) d'un document particulier dans les résultats, sans retourner la totalité des résultats.

En plus de détails ... les retours de requête ~ 30.000 documents et est commandé par un champ entier. Le champ de clé unique contient une Guid, et je voudrais savoir où dans les résultats un document particulier est, en fonction de la clé unique, alors que seulement le retour des 10 premiers résultats.

Cet indice a été mis en œuvre dans la plaine ancienne Lucene, et cette tâche a été réalisée avec deux requêtes, l'un pour obtenir l'ID Lucene doc du document que je veux savoir, puis une seconde qui retourne la totalité des résultats. Je peux alors utiliser l'identifiant de doc pour trouver où le document apparaît dans l'ensemble de résultats, mais que les documents énumérer pour les 10 premiers.

Y at-il un moyen d'atteindre ce que je suis après avec Solr, sans retourner tous les résultats 30000 (même limiter cela au Guid semble trop lent)?

Merci

Était-ce utile?

La solution

Je pense que vous pouvez faire avec une requête de gamme, y compris de votre point d'utilisateur que le niveau inférieur, vous pouvez obtenir le nombre d'utilisateurs ci-dessus. Vous pouvez faire une requête explicite ou d'obtenir cette information en utilisant l'approche de gamme de facettes.

donc, si vous savez que vous pointez utilisateur est 10.000, vous pouvez faire une requête: jeu: points de tetris [MaxInt 10000], et si le résultat est de 375 vous sauriez que votre utilisateur est dans le rang 375.

Autres conseils

La seule façon fiable, je peux penser est la construction du classement à l'indice temps, à savoir avoir un champ entier « rang » et le remplir lors de la création de l'indice. L'inconvénient est que chaque mise à jour nécessite la reconstruction de l'index entier.

Lucene doc ids ne sont pas stables, je ne recommanderais pas de les utiliser pour cela (voir cette , ce , cette ), et Solr ne les expose pas de toute façon.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top