Biz varsayılan yapılandırmadır schema.xmlSolr GermanNormalizationFilter ve özel karakter
<fieldType name="text_de" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" words="lang/stopwords_de.txt" format="snowball" ignoreCase="true"/>
<filter class="solr.GermanNormalizationFilterFactory"/>
<filter class="solr.GermanLightStemFilterFactory"/>
</analyzer>
</fieldType>
aşağıdaki text_de
olarak tanımlanan bazı metin alanlarını Solr 5.4 kullanıp var. name:Rosewein
için neden arama sonuçlarının olmadığını merak ediyorum ama name:Roséwein
ilgili girişleri döndürüyor. yüzden bazı özel karakter alanını name
sorgulamak çalıştı ve sonuçlanır seçeneği debugQuery
etkin:
{
"responseHeader": {
"status": 0,
"QTime": 0,
"params": {
"debugQuery": "true",
"indent": "true",
"q": "name:ÁÀÂÄÃåĀĂÆæöüßéèêíóú",
"_": "1459935371889",
"wt": "json"
}
},
"response": {
"numFound": 0,
"start": 0,
"docs": []
},
"debug": {
"rawquerystring": "name:ÁÀÂÄÃåĀĂÆæöüßéèêíóú",
"querystring": "name:ÁÀÂÄÃåĀĂÆæöüßéèêíóú",
"parsedquery": "name:aaaaãåāăææousséèêiou",
"parsedquery_toString": "name:aaaaãåāăææousséèêiou",
"explain": {},
"QParser": "LuceneQParser",
...
tüm varyantlar ASCII gösterimi ile değiştirilir değil, gösterir alanda
parsedquery
de bakabilirsiniz.
ASCIIFoldingFilterFactory
'u filtre olarak kullanamıyorum çünkü daha sonra Almanca ifadeleri kaybolabilir, çünkü bazı durumlarda
ü
'dan
ue
'a dönüştürülür.
Fakat anlayamadım ne: íóúá
é
olarak tutulur ioua
ancak é
dönüştürülür neden?
Ve: Tüm bu özel vokalleri ASCII temsilcilerine dönüştürmenin bir yolu var, ancak ae Ae ue Ue
'a dönüştürülen umlautlar gibi izin verilsin mi? (Solr'u yeniden derlemek zorunda kalmadan)
Eğer SnowballPorterFilterFactory ile German2 deneyebilirsiniz ...? bir Solr souldn't burada https://lucene.apache.org/core/5_4_0/analyzers-common/index.html?org/apache/lucene/analysis/de/GermanNormalizationFilter.html okuyabilir gibi –
zaten German2 kullanılır? – rabudde