1
我们有一个需求solr我们想合并两个查询的结果。
如
查询一个返回[文档1,文件2,文件3,document4]
二查询返回[文件3,document4,document5,document6]
我们想要的结果按照以下顺序[文档1,书2 ,document3,document4,document5,document6]
基本上来自第一个查询的结果应该优先,而从第二个查询应该删除重复。
我们还希望在solr级别进行分页,因为它为每个查询返回100万个文档。
查询:
1)如何创建执行多个查询一起,为了获得满意的结果。 (第一个查询结果应该先出现,从第二个查询重复应该被删除)
2)我们想分页整个结果集的数据,因此我们不能一个接一个地执行。有什么办法可以做到这一点?
Binoy感谢您的回复。我们也希望做分页,所以在手之前,我们应该知道这两个查询中有多少条记录(例如,我们需要投影的记录有1000条,就像有10个页面,每条记录有100个条目)。我觉得它应该可以通过一些解决方法 –
有人对此有任何想法 –
@MihirkumarJoshi Binoy说,如果你想为每一页100个项目,你应该只添加一个参数rows = 100&start = 0。 --- 然后,当用户询问下一页时,您只需运行相同的查询,将100添加到启动参数(行= 100&开始= 100;行= 100&开始= 200); ... 如果要显示用户有多少页在第一次查询之后,你只需计算numFound/rows四舍五入(numFound在solr响应中)。 --- 这是1查询,因为你想合并两个查询,你应该分行和2开始(行= 50&开始= 0/50/100 ...) – magnum87