2012-09-24 177 views
1

我在Windows机器上使用apache-solr-3.6.0。我想删除冒号和句号之前的索引之前的所有标点符号。Solr - 删除特定的标点符号

我想:

<fieldType name="text_ar" class="solr.TextField" positionIncrementGap="100"> 
     <analyzer> 
     <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
     <filter class="solr.PatternReplaceFilterFactory" pattern="[\p{Punct}&&[^\.^\:]]" replacement="" replace="all"/> 
     </analyzer> 
    </fieldType> 

但没有奏效。有任何想法吗?

回答

2

使用下面的模式过滤器而不是你的。

<filter class="solr.PatternReplaceFilterFactory" pattern="([^a-zA-Z0-9.:])" replacement="" replace="all"/> 
+0

谢谢,但它不工作,因为我正在处理阿拉伯字符。 – Daisy

+0

我用英文字符试了一下,它适用于我。我不知道它为什么不用阿拉伯字符。 –

+0

在正则表达式中,阿拉伯语不能被当作a-z等。 – Daisy