### Description

Hi,
It would be great if you could add the Persian (Farsi) language to the list of supported stemmers.
The Lucene project has a stemmer for Persian as of May 2022 that you can use.
https://github.com/apache/lucene/tree/main/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa
modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/StemmerTokenFilterFactory.java
return new SnowballFilter(tokenStream, new KpStemmer());
            
        } else if ("english".equalsIgnoreCase(language)) {
            return new PorterStemFilter(tokenStream);
        } else if ("light_english".equalsIgnoreCase(language)
            || "lightEnglish".equalsIgnoreCase(language)
            || "kstem".equalsIgnoreCase(language)) {
                return new KStemFilter(tokenStream);
            } else if ("lovins".equalsIgnoreCase(language)) {
                return new SnowballFilter(tokenStream, new LovinsStemmer());
            } else if ("porter".equalsIgnoreCase(language)) {
                return new PorterStemFilter(tokenStream);
            } else if ("porter2".equalsIgnoreCase(language)) {
                return new SnowballFilter(tokenStream, new EnglishStemmer());
            } else if ("minimal_english".equalsIgnoreCase(language) || "minimalEnglish".equalsIgnoreCase(language)) {
                return new EnglishMinimalStemFilter(tokenStream);
            } else if ("possessive_english".equalsIgnoreCase(language) || "possessiveEnglish".equalsIgnoreCase(language)) {
                return new EnglishPossessiveFilter(tokenStream);
            } else if ("estonian".equalsIgnoreCase(language)) {
                return new SnowballFilter(tokenStream, new EstonianStemmer());
                
            } else if ("finnish".equalsIgnoreCase(language)) {
                return new SnowballFilter(tokenStream, new FinnishStemmer());
            } else if ("light_finish".equalsIgnoreCase(language) || "lightFinish".equalsIgnoreCase(language)) {
                
                return new FinnishLightStemFilter(tokenStream);
            } else if ("light_finnish".equalsIgnoreCase(language) || "lightFinnish".equalsIgnoreCase(language)) {
                return new FinnishLightStemFilter(tokenStream);
                
            } else if ("french".equalsIgnoreCase(language)) {