2016-04-06 25 views
0

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)

+0

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 –

+0

zaten German2 kullanılır? – rabudde

cevap