在facet中使用regex,包含Solr

2j4z5cfb  于 2022-09-27  发布在  Solr
关注(0)|答案(3)|浏览(202)

我将solr字段存储为-

record1 --> colorDimension : "Purple|91"
record2 --> colorDimension : "Purple|974|91"
record3 --> colorDimension : "Purple|974"

我需要在这个colorDimension字段上刻面,使其包含“Purple”和数字“91”。
我的目标是-

Purple|91 = 2

我一直在寻找facet.contains,但没有得到任何使用正则表达式的示例。

bxpogfeg

bxpogfeg1#

您应该在索引时展开这些标记,以便分别拥有Purple|91Purple|974的标记。分面很快,因为它可以计算标记数,而无需对每个标记运行正则表达式来查找实际值。
您可能必须在代码中这样做,因为我认为您不能让模式regex标记器为给定的前缀/组输出多个标记。

h7appiyu

h7appiyu2#

尝试使用此模式:

Purple\|(?:\d+\|)*91(?:\||$)

Demo

cvxl0en2

cvxl0en23#

如果您实际上需要使用正则表达式,那么有一个参数facet.matches,它可以用来指定正则表达式来限制facet结果

相关问题