Frage

Zuerst benutzte ich den Analizer "Language Analyzer" und alles schien sehr gut zu funktionieren.Bis ich erkennen, dass "A" nicht Teil der Liste der Stoppwörter auf Französisch ist

Ich entschied sich also, mit Schneeball zu testen.Es schien auch gut zu funktionieren, aber in diesem Fall entnimmt es kurzes Wort wie "l '", "d'", ...

Daher meine Frage: Wie man Snowball benutzt, filtert standardmäßig und fügen Sie eine Liste mit Stoppwörter und ELILION hinzu?

Andernfalls Ändern der Liste der Stoppwörter für Analizer "Language Analyzer"?

und eine letzte Frage: Gibt es wirklich ein Interesse, den Schneeball als den Analizer "Language Analyzer" zu verwenden?Ist es schneller?relevanter?

danke

War es hilfreich?

Lösung

Da ein Analysator einfach die Kombination aus einem Tokenizer und Null- oder mehr Filtern ist, können Sie Ihren eigenen benutzerdefinierten Schneeballanalysator aufbauen, der die "Standardeinstellungen" nachahmt, und die Spitze Ihrer eigenen Filter fügt, z. B. ein elision token filter .

Wie in der Snowball Analyzer-Dokumentation < / a>:

Ein Analysator des Typs Snowball, der den Standard-Tokenizer mit Standardfilter , Kleinbuchstaben , Haltelfilter verwendet und Schneeballfilter .

Somit ist ein Beispiel, das sowohl Implementierungen als auch ein Snowballe-Analysator mit Standardfiltern sowie benutzerdefinierte Stoppwörter und Elision und einem -sprachanalysator mit einer benutzerdefinierten Liste von Stoppwords :

generasacodicetagpre.

Lassen Sie uns die von beiden Analysatoren hergestellten Token sehen, wobei derselbe Testsatz verwendet wird:

generasacodicetagpre.

Wie Sie sehen, produzieren beide Analysatoren nahezu genau die gleichen Token, mit der Ausnahme von "Amour" , das nicht stammt, ich weiß nicht, warum ich ehrlich sein soll, da der Schneeballfilter ehrlich sein soll verwendet einen Stemmer unter der Haube.

Über Ihre zweite Frage, diese Filter beeinflussen nur die Indexzeit (während des Tokenisationsschritts), würde ich sagen, dass beide Implementierungen fast gleichermaßen funktionieren (der Sprachanalysator sollte etwas schneller sein, da es in diesem Beispiel nur französische Wörter stammt) und wird nicht wahrnehmbar sein, wenn Sie nicht planen, riesige Dokumente unter schwerer Belastung zu indexieren.

Suchzeit der Suche sollten ähnlich sein, da die Token fast gleich sind (wenn Sie nur französische Dokumente indexieren), so denke ich, dass Lucene die gleichen Leistungen bereitstellt.

Zum Abschluss, ich würde den Sprachanalysator auswählen, wenn Sie nur französische Dokumente indexieren, da es in der Mapping-Definition weit kleiner ist: -)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top