我想基于Solr索引对象的字段名称创建输出。
我所拥有的就是这样的对象:
{
"Id":"ID12345678",
"GroupKey":"Beta",
"PricePackage":5796.0,
"PriceCoupon":5316.0,
"PriceMin":5316.0
}
Price*
字段因对象而异,其中某些字段可能有三个以上,有些则更少,但是它们始终以Price
为前缀。
如何查询Solr以获取包含所有以Price
开头的所有字段名称的列表?
作为所有示例,我已经研究了过滤器,构面,但找不到有关如何执行此操作的任何线索-例如正则表达式方面-与字段值有关,而不与字段名称本身有关。或至少我无法适应它。
答案 0 :(得分:1)
如果查询0个文档并使用csv响应编写器(wt参数)生成字段名称列表,则可以获取所有现有字段名称的逗号分隔列表。
例如,如果您请求/solr/collection/select?q=*:*&wt=csv
,则会获得所有字段的列表。如果只想为字段添加价格前缀,则还可以添加字段列表参数(fl)来限制字段。
因此,对/solr/collection/select?q=*:*&wt=csv&fl=Price*
的请求应返回以下响应:
PricePackage,PriceCoupon,PriceMin
使用此解决方案,您可以获得所有现有字段,包括动态字段。