我正在尝试使用Apache Solr来创建产品目录。假设我有三个被索引为Solr facets的字段:
* SKU
* Color
* Price
让我们说这是我的索引数据:
SKU /颜色/价格
1. Foo / Blue / 2.00
2. Bar / Red / 3.50
3. Foo / Red / 1.00
4. Bar / Green / 5.00
我想要一个在SKU和最低价格上返回limit=1
的查询。因此,第2行和第2行3以上。
答案 0 :(得分:0)
我认为只要在Solr中使用一个查询就能实现这一目标
首先,您将执行此查询以获取所有SKU的列表作为构面
http://localhost:8080/select/?facet=on&facet.field=SKU&rows=0&q=*:*
然后您将不得不使用PHP或某种语言迭代结果,并且对于每个SKU,您可以向Solr发送以下查询以获得该SKU的最低价格
http://localhost:8080/jobs/select/?fq=SKU:$sku&rows=1&q=*:*&sort=price asc
Solr请求的总数将是:n + 1,其中1表示获取所有SKU列表的初始请求,然后是n,其中n是唯一SKU的数量。
答案 1 :(得分:0)
您可以按SKU分组并按价格排序,以最低价格获得每个SKU一件产品。
像group=on&group.field=SKU&group.sort=price asc
有关详细信息,请参阅Solr Wiki上的this页面。