我是apache solr的新手,我需要一些有关查询的帮助。我在solr模式中创建了一些动态字段,这些字段随文档的不同而不同。现在,我需要运行一个查询,在该查询中可以获取stats部分下的所有动态字段以创建过滤器,以便可以对搜索到的结果运行过滤器查询。
http://localhost:8983/solr/catalog/select?fq=color_sm%3A(*%22black%22)&q=product_name%3AMouse&stats=true&stats.calcdistinct=true&stats.field=height_sm&stats.field=color_sm&stats.field=height_i&rows=0
在上面的查询中,后缀_sm的动态字段很少,我希望统计信息部分下的搜索结果中所有具有相同后缀的字段。
以下是上述查询的输出,但是stats_fields仅列出了我在查询中定义的那些列,我想在结果json中添加更多动态列,但不应在查询中单独定义它。
{
"responseHeader": {
"status": 0,
"QTime": 2,
"params": {
"q": "product_name:Mouse",
"stats.calcdistinct": "true",
"stats": "true",
"fq": "color_sm:(*\"black\")",
"rows": "0",
"stats.field": [
"height_sm",
"color_sm"
]
}
},
"response": {
"numFound": 10,
"start": 0,
"docs": [
]
},
"stats": {
"stats_fields": {
"height_sm": {
"min": "30 Centimeters",
"max": "45 Centimeters",
"count": 2,
"missing": 0,
"distinctValues": [
"30 Centimeters",
"45 Centimeters"
],
"countDistinct": 2
},
"color_sm": {
"min": "Black",
"max": "White",
"count": 3,
"missing": 0,
"distinctValues": [
"Black",
"Gray",
"White"
],
"countDistinct": 3
}
}
}
}
我需要一些帮助来解决此问题,请让我知道solr是否允许这样做,如果可以,那么我如何实现这一目标。