solr - Solr 搜索 - 价格范围根据每个产品的一组产品的 min_price 计数
问题描述
我需要针对每个产品的一组产品的最低价格创建价格范围的 solr 查询。
我们可以像这样使用价格字段轻松地进行构面范围:
"facet":{
"price":{
"type":"range",
"field":"price",
"start":0,
"end":"2000",
"gap":"500",
"other":"after"
}
}
但是这里的要求是我们需要将价格与一组匹配产品的最低价格进行比较。意味着,对于 ID 为 1000 的产品,将有 n 个匹配的产品(例如产品 ID 1001、1002、1003 等)。对于每个产品,我们需要将其与这些匹配产品的最低价格进行比较。
例如,以下查询返回匹配产品的最低价格:
"query":"_text_:*",
"offset":0,
"limit":0,
"filter":["tagmacthedid:585200 || tagmacthedid:585226 || tagmacthedid:1197970"],
"facet":{
prices585226: {
type: query,
q: "tagmacthedid:585226",
facet: {
price_min:"min(price)",
price_max:"max(price)"
},
},
prices585200: {
type: query,
q: "tagmacthedid:585200",
facet: {
price_min:"min(price)",
price_max:"max(price)"
},
}
}
}
这将返回结果集:
"facets": {
"count": 18,
"prices585226": {
"count": 14,
"price_min": 49.0,
"price_max": 2999.0
},
"prices585200": {
"count": 4,
"price_min": 175.0,
"price_max": 1075.0
}
}
但问题是我们需要根据最低价格(产品的匹配产品(tagmacthedid))获取价格计数范围
如果您有解决此问题的想法,请告诉我。
解决方案
推荐阅读
- css - 我的 CSS 和 JS 组织不工作
- sql - 复杂的 Oracle SQL 查询
- python - 使用多处理时的 ModuleNotFoundError
- html - 使用 CSS 添加图标
- javascript - 从数组创建多个路由和嵌套路由
- python - 你如何让一个精灵能够在pygame中检测鼠标是否在它上面?
- python - Python (PyPy) times.to_universal() 在 Alpine linux 上不起作用
- python - 如何找到一个数字在一组连续整数之间的位置
- angular - agGrid 不会根据自定义过滤器更新网格
- javascript - JavaScript - 并排显示两个表格