1

Ich habe mehrere (1 Million +) Dokumente, E-Mail-Nachrichten, usw., die ich indizieren und durchsuchen muss. Jedes Dokument hat potenziell eine andere Kodierung.Normalisierung von Unicode-Daten für die Indizierung (für Multi-Byte-Sprachen): Welche Produkte machen das? Ist Lucene/Hadoop/Solr?

Welche Produkte (oder Konfiguration für die Produkte) muss ich lernen und verstehen, um dies richtig zu machen?

Meine erste Vermutung ist etwas Lucene-basierte, aber das ist etwas, was ich gerade lerne, wie ich gehe. Mein Hauptanliegen ist es, den zeitaufwändigen Kodierungsprozess so schnell wie möglich zu starten, so dass wir gleichzeitig das Such-Front-End erstellen können. Dies kann eine Art Normalisierung von Doppelbyte-Zeichen erfordern.

Jede Hilfe wird geschätzt.

Antwort

1

Konvertieren Sie alles in UTF-8 und führen Sie es durch Normalisierung Form D auch. Das hilft bei Ihren Suchen.

0

Bedeuten Sie, dass Sie die Dokumente selbst umwandeln müssen? Das klingt nach einer schlechten Idee, besonders in einer großen, heterogenen Sammlung.

Eine gute Suchmaschine wird eine robuste Kodierungserkennung haben. Lucene tut das und Solr benutzt es (Hadoop ist keine Suchmaschine). Und ich glaube nicht, dass es möglich ist, eine Suchmaschine zu haben, die keine normalisierte Kodierung in ihrem internen Indexformat verwendet. Normalisierung wird also kein Auswahlkriterium sein, obwohl das Ausprobieren der Kodierungserkennung wäre.

0

Ich schlage vor, Sie verwenden Solr. Die ExtractingRequestHandler verarbeitet Codierungen und Dokumentformate. Mit Solr ist es relativ einfach, einen funktionierenden Prototyp zu bekommen. DataImportHandler ermöglicht den Import eines Dokument-Repository in Solr.

Verwandte Themen