Apache Solr: TokenFilterFactory with name 'icuFolding' does not exist

I'm setting up mail/dovecot with textproc/apache-solr to have full text search capabilities using the instructions at https://doc.dovecot.org/2.4.2/core/plugins/fts_solr.html. I've substituted the correct solrconfig.xml and schema.xml files (https://github.com/dovecot/core/tree/main/doc) according to my version of Solar, which is currently 9.x.

When I try to load the search core I am getting the following error:

Code:
Error CREATEing SolrCore 'dovecot': Unable to create core [dovecot] Caused by: A SPI class of type org.apache.lucene.analysis.TokenFilterFactory with name 'icuFolding' does not exist. You need to add the corresponding JAR file supporting this SPI to your classpath. The current classpath supports the following names: [dictionaryCompoundWord, teluguNormalization, delimitedBoost, phonetic, keywordRepeat, fixBrokenOffsets, japaneseKatakanaStem, managedSynonymGraph, brazilianStem, decimalDigit, germanLightStem, hungarianLightStem, delimitedTermFrequency, Word2VecSynonym, patternReplace, flattenGraph, japaneseKatakanaUppercase, koreanNumber, minHash, suggestStop, codepointCount, wordDelimiterGraph, porterStem, japanesePartOfSpeechStop, nGram, persianStem, frenchMinimalStem, japaneseBaseForm, greekStem, synonym, typeAsSynonym, classic, dateRecognizer, bengaliStem, japaneseReadingForm, limitTokenCount, spanishLightStem, cjkWidth, trim, commonGrams, length, teluguStem, shingle, typeAsPayload, daitchMokotoffSoundex, keepWord, czechStem, japaneseNumber, reverseString, apostrophe, galicianStem, hyphenatedWords, italianLightStem, spanishMinimalStem, japaneseHiraganaUppercase, commonGramsQuery, synonymGraph, managedSynonym, protectedTerm, koreanPartOfSpeechStop, germanNormalization, hyphenationCompoundWord, swedishMinimalStem, scandinavianFolding, snowballPorter, keywordMarker, delimitedPayload, concatenateGraph, asciiFolding, kStem, fingerprint, indonesianStem, truncate, patternCaptureGroup, managedStop, bulgarianStem, russianLightStem, swedishLightStem, numericPayload, reversedWildcard, finnishLightStem, englishPossessive, lowercase, germanMinimalStem, wordDelimiter, serbianNormalization, patternTyping, tokenOffsetPayload, removeDuplicates, portugueseLightStem, elision, edgeNGram, hindiNormalization, hindiStem, bengaliNormalization, frenchLightStem, portugueseStem, germanStem, persianNormalization, latvianStem, scandinavianNormalization, indicNormalization, arabicStem, irishLowercase, portugueseMinimalStem, type, limitTokenOffset, capitalization, beiderMorse, norwegianNormalization, doubleMetaphone, englishMinimalStem, arabicNormalization, stemmerOverride, norwegianLightStem, greekLowercase, limitTokenPosition, fixedShingle, soraniStem, hunspellStem, uppercase, cjkBigram, spanishPluralStem, japaneseCompletion, stop, soraniNormalization, koreanReadingForm, dropIfFlagged, turkishLowercase, norwegianMinimalStem, galicianMinimalStem]

Is icuFolding something I can install from ports?
 
Don't use it myself, and I'm not sure where the error comes from, but it might be these lines in solr-config-9.xml:
Code:
    <!-- Load ICU analyser -->
    <lib dir="${solr.install.dir:../../../..}/modules/analysis-extras/lib" regex="icu4j-.*\.jar"/>
    <lib dir="${solr.install.dir:../../../..}/modules/analysis-extras/lib" regex="lucene-analysis-icu-.*\.jar"/>
It's very likely these are pointing to the wrong directory on FreeBSD, I suspect the config file is based on a Linux install.
Code:
oot@fbsd-test:~ # pkg info -l apache-solr | grep lucene-analysis-icu
        /usr/local/solr/licenses/lucene-analysis-icu-9.12.2.jar.sha1
        /usr/local/solr/modules/analysis-extras/lib/lucene-analysis-icu-9.12.2.jar
root@fbsd-test:~ # pkg info -l apache-solr | grep icu4j-
        /usr/local/solr/licenses/icu4j-74.2.jar.sha1
        /usr/local/solr/licenses/icu4j-LICENSE-BSD_LIKE.txt
        /usr/local/solr/licenses/icu4j-NOTICE.txt
        /usr/local/solr/modules/analysis-extras/lib/icu4j-74.2.jar
 
Back
Top