2016-08-19 4 views
2

Ich versuche, PDF-Datei in solr zu indizieren, aber sieht aus wie während der Konvertierung von Text in UTF-8 Zeichen werden geändert.Suche/Index Problem mit nicht Englisch Sprache

Zum Beispiel hervorgehoben Im Folgenden Text:

demo

Umgerechnet auf:

demo

Suche trifft auf später Schlüsselwort nicht ursprüngliches Wort. Soweit ich weiß, geschieht dies beim Konvertieren von PDF-Text in UTF-8 vor der Indizierung.

als Referenz unten ist der Code für die Indizierung:

String solrUrlString = "http://localhost:8983/solr/example"; 
    SolrClient solr = new HttpSolrClient(solrUrlString); 

    ContentStreamUpdateRequest up = new ContentStreamUpdateRequest("/update/extract"); 

    up.addFile(new File(filepage.getabsPath()), "application/pdf"); 

    up.setParam("literal.id", filepage.getId()); 
    up.setParam("uprefix", "attr_"); 
    up.setParam("fmap.content", "attr_content"); 

    up.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true); 
    solr.request(up); 

Antwort

0

Die Sprache des Textinhalts nehme ich an, dass Sie indizieren versuchen Gujarati ist, einer der indischen Dialekte. Solr bietet eine Sprachanalyse für eine Vielzahl von Sprachen an, aber ich fürchte mich in Bezug auf indische Sprachen, es beschränkt sich nur auf Hindi. Für Hindi bietet es folgende Klassen für die Analysatorklassen: solr.IndicNormalizationFilterFactory, solr.HindiNormalizationFilterFactory, solr.HindiStemFilterFactory. Ich kann in der Dokumentation keinen für Gujarati sehen. Sie können den Sprachanalysebereich von Solr hier https://cwiki.apache.org/confluence/display/solr/Language+Analysis ansehen. Während also Gujarati die Sprache in der Frage ist, wäre die Analyse wohl mehrdeutig, vage und inkompatibel. Lassen Sie es mich wissen, wenn Sie etwas besseres finden. Hoffe das hilft :) .

Verwandte Themen