文档在Solr中的结果集中的位置

And*_*rey 5 java lucene tomcat solr

我需要知道Solr结果中文档的位置.让我解释一下原因.我们希望在搜索中向用户显示其项目的位置(以便用户可以购买促销并将其移动).现在我查询所有页面,直到找到文档,但它会生成很多对Solr的调用.有没有办法获取元素的id和查询位置?最好通过id列表,以便我可以一次查询.

示例查询:

/search?sort=sort_time%20desc&fq=category_parent_id:2003&rows=15&q=&start=0
Run Code Online (Sandbox Code Playgroud)

样本文件:

{
    sort_time: 1421747930,
    id: 146002852,
    catlevel2: "Volvo",
    catlevel1: "Auto's",
    description: "Volvo XC90",
    score: 6.4758344
}
Run Code Online (Sandbox Code Playgroud)

小智 4

您正在按“sort_time”排序,它看起来像以 milis 为单位的时间戳。

让我们执行以下操作:使用范围查询查询“sort_time”在 1421747930 和 NOW 之间的所有结果。即使在第一个结果集中,这也会为您提供“count”个结果。如果您按“sort_time desc”排序,您所需的位置是“count”,因为您的结果将是该范围查询中的最后一个。例如,尝试在相同的查询中添加“sort_time:[1421747930 TO NOW]”(这可能不是确切的语法,请检查一下)。如果您总共得到 137 个结果,则 1421747930 的位置将是 137。Myeb,您需要最大“sort_time”而不是 NOW 等...我希望您明白这一点。

现在,您使用确切的 id 发出第二个查询来获取其余数据。

不过,你可以通过 2 个查询得到你想要的东西。我建议您尝试使用范围的想法来获得您需要的东西。