Solr – Lateinische Sprachunterstützung
Wir haben für Solr 4 eine lateinische Sprachunterstützung implementiert.
Hierfür haben wir zwei Filter entwickelt. Einen für die Zahlenkonvertierung (‚iv‘ -> ‚4‘, ‚v‘ -> ‚5‘, ‚vi‘ -> ‚6‘ …) und einen für das Stemming der wichtigsten Suffixe in der lateinischen Sprache.
Folgende Feldtyp Definition ist ein möglicher Use Case für die Analyse der lateinischen Sprache.
<fieldType name="text_latin" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.KeywordMarkerFilterFactory" protected="latin_protwords.txt" /> <filter class="org.apache.solr.analysis.LatinNumberConvertFilterFactory" strictMode="true"/> <filter class="org.apache.solr.analysis.LatinStemFilterFactory" /> </analyzer> </fieldType>
Bei der Zahlenkonvertierung gibt es einen strictMode, der eingeschaltet werden kann, da nicht jede Zahl gültig ist. Mit strictMode=“true“ wird aus „ic“ -> „ic“ und mit strictMode=“false“ wird aus „ic“ -> „99“
Der Stemmer generiert für jedes Wort zwei gestemmte Versionen, eines als Substantiv gestemmt und eines als Verb.
Beide Filter können in Kombination mit dem KeywordMarkerFilterFactory genutzt werden, damit Eigennamen, wie beispielsweise Markus, vor dem Stemming geschützt werden können.
Wir hoffen, dass der Filter bald in die offizielle Version von Solr übernommen wird. Für alle die lateinische Sprachunterstützung ausprobieren wollen können sich den entsprechenden Patch aus dem Jira (SOLR-3630) herunterladen:
Für jedes Feedback sind wir natürlich dankbar.
Newsletter
Anmelden |