Join 限制solr子查询/联接上的行
我想在solr上实现一个搜索,搜索500种畅销产品,然后只对这500种产品进行搜索/筛选 在SQL中,我会这样做:Join 限制solr子查询/联接上的行,join,solr,subquery,Join,Solr,Subquery,我想在solr上实现一个搜索,搜索500种畅销产品,然后只对这500种产品进行搜索/筛选 在SQL中,我会这样做: SELECT * FROM Product WHERE ProductID IN (SELECT TOP 500 ProductID FROM Product ORDER BY Sales DESC) AND Manufacturer = 'Apple' 我知道我可以在solr中执行join/subquery,但在将这些子查询的行输入到主查询之前,我似乎不知道如何对它们进行排序和
SELECT * FROM Product
WHERE ProductID IN (SELECT TOP 500 ProductID FROM Product ORDER BY Sales DESC)
AND Manufacturer = 'Apple'
我知道我可以在solr中执行join/subquery,但在将这些子查询的行输入到主查询之前,我似乎不知道如何对它们进行排序和限制
这在solr中可能吗?您可能不需要任何联接或子查询。
您可以使用销售信息为产品编制索引 您只需要执行Solr查询:-
q=manufacturer:apple&sort=sales desc&limit=500
或
这将搜索apple的manufacture字段,按降序返回sales订购的结果集,并将行数限制为500。获取500可能不是一个好主意,您可以始终使用行和限制进行分页。
在客户端只能显示500个结果的限制可以处理。是的-我当然可以这样做。但是,我实际上是在寻找前500名的产品,然后对其进行筛选,因此根据我选择的过滤器,最终的列表可能只有50个,例如,Nope Solr没有这样的功能。不过,您可以修改源代码以限制结果的数量。
fq=manufacturer:apple&sort=sales desc&limit=500