Как реализовать собственный анализатор в Lucene 5.5? - PullRequest
0 голосов
/ 26 октября 2019

Мне нужна помощь с реализацией пользовательского анализатора в Lucene. По некоторым причинам мне нужно использовать эту версию Lucene, и я не могу использовать последнюю версию. Мне нужен анализатор, который использует фильтр нижнего регистра и стоп-фильтр для итальянских и английских стоп-слов.

Я пытался использовать различные подходы, найденные в Интернете, такие как StopFilterFactory, но у меня есть некоторые трудности в реализации

Это то, что мне нужно сделать (в последних версиях Lucene)


public class MyAnalyzer extends Analyzer {
    Version matchVersion = Version.LATEST;

    @Override
    protected TokenStreamComponents createComponents(String fieldName) {
        ArrayList stops = new ArrayList(EnglishAnalyzer.getDefaultStopSet());
        ArrayList itaStops = new ArrayList(ItalianAnalyzer.getDefaultStopSet());
        stops.addAll(itaStops);
        CharArraySet sw = StopFilter.makeStopSet(stops);
        Tokenizer source = new StandardTokenizer();
        TokenStream filter = new LowerCaseFilter(source);
        filter = new StopFilter(filter, sw);
        filter = new PorterStemFilter(filter);
        return new TokenStreamComponents(source, filter);
    }

}

Мне нужны некоторые советы о реализации того же анализатора в Lucene 5.0

Ошибки, которые яget связаны с CharArraySet, StopFilter, LowerCaseFilter и PorterStemFilter. Эти классы не реализованы в той версии lucene, которая мне нужна. Спасибо

...