ToTitleCase in solr zu stoppen CAPS in Solr SCREAMING
-
19-09-2019 - |
Frage
Ich bin solr der Facettierung mit und ich habe auf ein Problem stoßen, dass ich hatte gehofft, dass ich bekommen um Filter verwenden könnte.
Im Grunde einige Male ein Name der Stadt zu SOLR kommt durch als
"CAMBRIDGE"
und irgendwann ist es wird kommen durch als
"Cambridge"
Ich wollte einen Filter in Solr verwenden, um die SCREAMING CAPS-Version des Stadtnamens zu stoppen. Es scheint, dass es ein fitler ist der gesamte Text kleingeschrieben zu machen.
<!-- A text field that only sorts out casing for faceting -->
<fieldType name="text_facet" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
Ich habe mich gefragt, ob jemand einen Filters wußte, die das erste Zeichen eines Wort ignorieren und Klein des Zeichens für den Rest gelten. Z.
- CAMBRIDGE >> Cambridge
- Kingston upon Hull >> Kingston Upon Hull
etc
Als Alternative, wenn es einfach, Ihre eigenen Filter zu schreiben .. einige Hilfe, wie das zu tun, würde geschätzt .. Ich bin kein Java Person ..
Danke
Lösung
AFAIK gibt es keine eingebauten Filter so. Wenn Sie es schreiben wollen, finden Sie unter LowerCaseFilterFactory und ToTitleCase .
Andere Tipps
Vielleicht könnten Sie nutzen die solr.PatternReplaceCharFilterFactory machen?
<fieldType name="textCharNorm" class="solr.TextField">
<analyzer>
<filter class="solr.LowerCaseFilterFactory"/>
<charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="([^\s]{1})([^\s]*)" replaceWith="\U$1\L$2"/>
</analyzer>
</fieldType>
Beachten Sie, ich habe nicht den Code oder solr.PatternReplaceCharFilterFactory getestet, so dass ich nicht sicher bin, ob es funktioniert. Wenn Sie Ihre eigenen Filter in diesem Handbuch bauen könnte nützlich sein:
http: //robotlibrarian.billdueber. com / Bau-a-solr-Text-Filter-for-Normalisieren-data /
// John