PatternTokenizerFactory и стоп-слова - PullRequest
0 голосов
/ 23 июня 2011

поле документа в solr / lucene, называемое COLORS, имеет группу слов, подобную этой:

поле1: синий / темно-красный / зеленый поле 2: синий / желтый / оранжевый [...]

Мне нужно выполнить граненый поиск, чтобы получить все цвета и количество каждого цвета. Сначала я попробовал PatternTokenizerFactory, затем список стоп-слов:

<analyzer>
        <tokenizer class="solr.PatternTokenizerFactory" pattern="/" />
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.TrimFilterFactory" />
        <filter class="solr.StopFilterFactory"
                ignoreCase="true"
                words="stopwords"
        enablePositionIncrements="true"
        />
</analyzer>

К сожалению, список стоп-слов кажется игнорируемым. Стоп-слова отображаются в результатах граненого поиска.

Этот ТАК вопрос описывает ту же проблему. К сожалению, опубликованное решение не работает для меня, потому что я не могу использовать solr.StandardTokenizerFactory, потому что стандартный токенизатор также разделяет токены на пробелах. Это означает, что «темно-красный» становится «темным» и «красным», что неправильно.

Есть ли способ использовать шаблонизатор токенов?

Спасибо за любую помощь!

1 Ответ

1 голос
/ 18 июля 2011

Для справки: фасет, токенайзер и стоп-слова будут работать в Lucene / Solr 4: -)

...