Apache Solr:如何将所有动态文件添加到stats.field

时间:2019-04-11 13:34:27

标签: apache solr solr-query-syntax

我是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是否允许这样做,如果可以,那么我如何实现这一目标。

0 个答案:

没有答案