Как настроить Solr для разбивки на пробелы и знаки препинания?

Я пытался получить мою схему 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 ответ

Решение

Как насчет

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

это должно предотвратить разделение one2three4

Другие вопросы по тегам