我使用solr的stats字段来返回一些信息,虽然很有用,但它包含了大量我不需要的数据
查询:
&stats=true&stats.field=name&stats.calcdistinct=true
返回每个不同的/唯一的值,但是默认情况下,它列出它找到的每个唯一的值——在这种情况下,我不想这样做——我只希望它返回找到的结果的数字。当不同的计数低于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,
}}}}
为查询添加一个本地参数;例如:
&stats=true&stats.field=name&stats.calcdistinct=true&{!distinctValues=false}name
如果stats.calcDistinct
为true,则countDistinct"one_answers";distinctValues"统计数据将被计算并包含响应,因此您需要禁用distinctValues
,以便从响应中排除值列表。