如何在Solr 8 Web界面执行distinct(去重)查询?
Solr 8.11.2 Web UI 实现字段去重查询与统计
一、查看site字段的所有去重值
通过Facet Terms功能实现:
- 进入目标Solr核心的Query页面
- 找到
Facet区域,勾选Facet on开启Facet - 在
Facet Fields输入框中填入site - 按需调整
Facet Limit:默认显示10个值,若要列出所有去重值可设为-1(数据量大时谨慎使用,避免性能问题) - 点击
Execute Query执行查询 - 结果区的
facet_fields模块会展示site的所有不同值,以及每个值对应的文档数量
二、统计site字段的去重值总数(基数)
通过Stats组件的基数统计功能实现:
- 在Query页面找到
Stats区域,勾选Stats启用统计 - 在
Stats Fields输入框中填入site - 勾选
Cardinality选项(Solr 8.x原生支持该统计项) - 点击
Execute Query执行查询 - 结果区的
stats模块会显示site字段的cardinality数值,即该字段的不同值总数
快速参数写法(直接在查询框输入)
如果习惯用参数直接查询,可在q输入框填入以下内容:
- 列出所有去重值:
q=*:*&facet=true&facet.field=site&facet.limit=-1 - 统计去重值总数:
q=*:*&stats=true&stats.field={!cardinality}site
注意事项
- 确保
site字段在schema配置中设置了indexed="true",否则无法进行Facet或Stats统计 - 若需排除空值,可添加过滤条件:
fq=-site:[* TO *](根据实际空值存储格式调整)
内容的提问来源于stack exchange,提问作者Klaus
相关产品推荐
相关产品推荐

