Regex 在Solr中索引记录之前清除明文超链接
我有一个字段,其内容用于从中生成面。我想解决的一个特殊问题是,我的一些内容包含纯文本的超链接,即Regex 在Solr中索引记录之前清除明文超链接,regex,solr,Regex,Solr,我有一个字段,其内容用于从中生成面。我想解决的一个特殊问题是,我的一些内容包含纯文本的超链接,即http://google.com。因此,我开始将http视为我最重要的方面之一。如何确保在索引超链接内容之前过滤掉它?使用某种正则表达式过滤器 我知道,当我将记录添加到Solr时,我可以在客户端完成这个预处理部分。但是,我希望保持所有内容的一致性,并且是Solr管道的一部分,因此,如果可能的话,我希望Solr预处理器能够为我做到这一点。我将使用以下组件解决此问题: 将URL保留为标记 将URL标记替
http://google.com
。因此,我开始将http
视为我最重要的方面之一。如何确保在索引超链接内容之前过滤掉它?使用某种正则表达式过滤器
我知道,当我将记录添加到Solr时,我可以在客户端完成这个预处理部分。但是,我希望保持所有内容的一致性,并且是Solr管道的一部分,因此,如果可能的话,我希望Solr预处理器能够为我做到这一点。我将使用以下组件解决此问题:
<analyzer type="index">
<tokenizer class="solr.UAX29URLEmailTokenizerFactory" />
<filter class="solr.PatternReplaceFilterFactory" pattern="..." replacement="" />
<filter class="solr.LengthFilterFactory" min="1" max="1000" />
</analyzer>
请注意,从solr.StandardTokenizerFactory
更改标记器可能会产生超出此答案所述的影响,因此请务必进行测试