2

我一直试图让我的 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设置组合,但没有一个被证明是有用的。是否有可以处理我需要的过滤器或标记器?

4

1 回答 1

2

怎么样

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

这应该可以防止 one2three4 被拆分

于 2010-10-08T13:39:31.297 回答