ElasticSearch stemming с защищенными словами

Я использую ElasticSearch (через Ruby, Tire) для функции поиска на веб-сайте одежды для электронной коммерции. Мне нужен фильтр стволовых символов, НО я также должен иметь возможность указать список защищенных слов, которые не получают в качестве основы. В настоящее время я использую снежный фильтр в качестве основы, но не могу понять, возможно ли указать защищенные слова. Я также посмотрел на некоторые другие фильтры:

  • Porter Stem, кажется, слишком агрессивен с этим, что приводит к странным путаницам
  • KStem, кажется, только на английском языке, и это для многоязычного проекта
  • Stemmer утверждает, что похож на снежный ком, но более полнофункциональный, но я не могу найти хорошую документацию об этом

Мой вопрос заключается в следующем: есть ли способ достичь этих целей с помощью снежного кома (и если да, то как?) Или мне нужно переключиться на один из других фильтров для определения стволов?

1 ответ

Используйте фильтр маркеров ключевых слов:

https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-keyword-marker-tokenfilter.html

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