在solr的stats组件中只返回特定的stats

li9yvcax  于 2022-11-05  发布在  Solr
关注(0)|答案(1)|浏览(177)

我正在使用solr的stats字段返回一些信息,虽然它很有用,但它包含了大量我不需要的数据。
查询:

&stats=true&stats.field=name&stats.calcdistinct=true

返回每个非重复/唯一值,但默认情况下,它列出找到的 * 每个 * 唯一值--在本例中,我不希望这样--我只希望它返回找到的 number 个结果。当非重复计数小于100左右时,这是可以的,但当它是56,000时,我就不得不向浏览器返回56,000个非重复值,这是非常昂贵的:

"stats":{
    "stats_fields":{
      "name":{
        "min":"Alan",
        "max":"Zeke",
        "count":197890,
        "missing":0,
        "distinctValues":["Alan",
          "Bob",
          "Matt",
          "Chan",
          "Peter",
          "Zeke"],
        "countDistinct":56872,  // <--- 56,872 lines get returned...
        "facets":{}}}}}

我有办法告诉 solr 我只想让它回来吗
stats --> stats_fields --> name --> countDistinct,而不是任何其他stats属性,如下所示:

"stats":{
        "stats_fields":{
          "name":{
            "countDistinct":56872,  
            }}}}
q9rjltbz

q9rjltbz1#

向查询中添加本地参数;例如:

&stats=true&stats.field=name&stats.calcdistinct=true&{!distinctValues=false}name

如果stats.calcDistinct为true,则将计算“countDistinct”和“distinctValues”统计信息,并将其包含在响应中,因此您需要禁用distinctValues,以便从响应中排除值列表。

相关问题