Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 在facet.contains Solr中使用正则表达式_Regex_Solr_Facet_Faceted Search - Fatal编程技术网

Regex 在facet.contains 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,但没有得到任何使用正则表达

我将solr字段存储为-

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的代码,您只需要帮助找到匹配的模式。