针对每种产品的一组产品的最低价格计算价格范围

zfciruhq  于 2021-10-10  发布在  Java
关注(0)|答案(0)|浏览(323)

我需要创建一个solr查询,根据每个产品的一组产品的最低价格来查询价格范围。
我们可以很容易地使用价格字段来确定镶嵌面范围,如下所示:

  1. "facet":{
  2. "price":{
  3. "type":"range",
  4. "field":"price",
  5. "start":0,
  6. "end":"2000",
  7. "gap":"500",
  8. "other":"after"
  9. }
  10. }

但这里的要求是,我们需要将价格与一组匹配产品的最低价格进行比较。意味着,对于id为1000的产品,将有n个匹配产品(如产品id 10011002、1003等)。对于每种产品,我们需要将其与这些匹配产品的最低价格进行比较。
例如,下面的查询返回匹配产品的最低价格:

  1. "query":"_text_:*",
  2. "offset":0,
  3. "limit":0,
  4. "filter":["tagmacthedid:585200 || tagmacthedid:585226 || tagmacthedid:1197970"],
  5. "facet":{
  6. prices585226: {
  7. type: query,
  8. q: "tagmacthedid:585226",
  9. facet: {
  10. price_min:"min(price)",
  11. price_max:"max(price)"
  12. },
  13. },
  14. prices585200: {
  15. type: query,
  16. q: "tagmacthedid:585200",
  17. facet: {
  18. price_min:"min(price)",
  19. price_max:"max(price)"
  20. },
  21. }
  22. }
  23. }

这将返回结果集:

  1. "facets": {
  2. "count": 18,
  3. "prices585226": {
  4. "count": 14,
  5. "price_min": 49.0,
  6. "price_max": 2999.0
  7. },
  8. "prices585200": {
  9. "count": 4,
  10. "price_min": 175.0,
  11. "price_max": 1075.0
  12. }
  13. }

但问题是我们需要根据最低价格(产品的匹配产品(Tagmathedd))获得价格计算范围
如果你有办法解决这个问题,请告诉我。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题