Найти лучшие готовые анализаторы /Tokenizer/TokenFilters для Solr, которые делят входную строку
Я перемещаю какой-то существующий указатель из Lucene в Solr. Мы применяем следующую логику к тексту ввода в Lucene:
- в нижнем регистре
- replaceDictionaryWords (заменить некоторые конкретные слова другими словами, пример заменить "hertz" на "htz")
- извлекать только символы и цифры
- обрезать выходную строку
- заменить \s+ на \ s
- разделить, используя метод java.lang.String # split (in)
- для каждого разделенного текста разделите слово результата по следующей схеме: "ABCDEF" => ABC BCD CDE DEF (разделите на 3, 2)
Я не хочу писать токенизатор, который мог бы существовать.
Итак, я посмотрел здесь http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters но пропустил.
2 ответа
- LowerCaseFilter,
- SynonymFilter,
- StandardTokenizer или PatternTokenizer,
- TrimFilter,
- PatternReplaceFilter,
- WordDelimiterFilter?
- NGramTokenFilter (вам может понадобиться написать фабрику для этого).
Но если у вас уже есть анализатор Lucene, вы можете заставить его использовать Solr.
Попробуйте OpenPipeline. Он предназначен для предварительной обработки документов, поступающих в поисковое программное обеспечение.