题
我使用Solrnet访问了SOLR索引,并且我想检索结果中特定文档的索引(位置),而不会返回整个结果集。
更详细地...查询返回约30,000个文档,并由整数字段订购。唯一的密钥字段包含一个GUID,我想根据唯一键在结果中找到特定文档所在的位置,而仅返回前10个结果。
该索引最初是在普通的旧Lucene中实现的,这项任务是通过两个查询来实现的,一个是为了获得我想知道的文档的Lucene Doc ID,然后第二个返回整个结果集。然后,我可以使用DOC ID查找文档在完整结果集中出现的位置,但后来仅列举了第一个10的文档。
有没有办法可以实现Solr的追求,而没有返回所有30000个结果(甚至将其限制在GUID上似乎只是太慢了)?
谢谢
解决方案
我认为您可以使用范围查询,包括您的用户点为较低级别,您可以获取上面的用户数量。您可以进行明确查询或使用Facet范围方法获取该信息。
因此,如果您知道用户点为10.000,则可以进行查询:游戏:俄罗斯方块点[Maxint至10000],如果结果为375,则会知道您的用户在等级375中。
不隶属于 StackOverflow