Regex 在facet.contains Solr中使用正则表达式
我将solr字段存储为-Regex 在facet.contains Solr中使用正则表达式,regex,solr,facet,faceted-search,Regex,Solr,Facet,Faceted Search,我将solr字段存储为- record1 --> colorDimension : "Purple|91" record2 --> colorDimension : "Purple|974|91" record3 --> colorDimension : "Purple|974" 我需要在这个colorDimension字段上刻面,使术语包含“紫色”和数字“91” 我的目标是- Purple|91 = 2 我一直在寻找facet.contains,但没有得到任何使用正则表达
record1 --> colorDimension : "Purple|91"
record2 --> colorDimension : "Purple|974|91"
record3 --> colorDimension : "Purple|974"
我需要在这个colorDimension字段上刻面,使术语包含“紫色”和数字“91”
我的目标是-
Purple|91 = 2
我一直在寻找facet.contains
,但没有得到任何使用正则表达式的示例
PS-如果有人选择否决该问题,请在评论中说明原因,以便我在此处纠正错误。尝试使用以下模式:
Purple\|(?:\d+\|)*91(?:\||$)
在编制索引时,您应该展开这些标记,以便分别为
Purple | 91
和Purple | 974
提供一个标记。Faceting很快,因为它可以计算令牌,而不必对每个令牌运行正则表达式来查找实际值
您可能必须在代码中这样做,因为我不认为您可以让模式regex标记器为给定前缀/组吐出多个标记。您对solr中facet.contains中的regex执行有任何线索吗?@VibhavSinghRohilla遗憾的是,我没有。我假设您已经有了一些关于regex的代码,您只需要帮助找到匹配的模式。