如何设置Solr以在空格和标点符号上进行标记?

时间:2010-10-08 13:35:30

标签: search solr full-text-indexing

我一直试图让我的Solr架构(使用Solr 1.3.0)创建由空格和标点符号标记的术语。以下是我希望看到的一些例子:

terms given -> terms tokenized

foo-bar -> foo,bar
one2three4 -> one2three4
multiple words/and some-punctuation -> multiple,words,and,some,punctuation

我认为这种组合可行:

<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1"/>
  </analyzer
<fieldType>

问题是,这会导致字母到数字转换的以下内容:

one2three4 -> one,2,three,4

我尝试了WordDelimiterFilterFactory设置的各种组合,但没有一个被证明有用。是否有可以处理我需要的过滤器或标记器?

1 个答案:

答案 0 :(得分:2)

怎么样

<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" splitOnNumerics="0" />

应该阻止one2three4被拆分