2012-09-24 136 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