2016-10-14 4 views
1

Ich bin neu in Apache Lucene. Ich bin derzeit die neueste Version: 6.2.1Apache Lucene 6.2 StandardAnalyzer Version

Basierend auf der offiziellen Dokumentation: http://lucene.apache.org/core/6_2_1/core/org/apache/lucene/analysis/package-summary.html

Version matchVersion = Version.LUCENE_6_2_1; 
Analyzer analyzer = new StandardAnalyzer(matchVersion); 

funktioniert nicht. Es sagt mir, dass es keinen StandardAnalyzer-Konstruktor gibt, der einen Version-Parameter empfängt;

Ich habe so etwas wie diese

Version matchVersion = Version.LUCENE_6_2_1; 
Analyzer analyzer = new StandardAnalyzer(); 
analyzer.setVersion(matchVersion); 

Ist dies der richtige Weg zu tun, und die Dokumentation ist älter? Oder muss ich noch ein paar zusätzliche Bibliotheken neben Lucene-Core hinzufügen?

Antwort

1

Ja, das Version Argument wurde in Version 5.0 entfernt. Die Einstellung mit setVersion wäre korrekt. Es sollte jedoch beachtet werden, dass das Einstellen der Version nichts bewirkt. StandardAnalyzer verwendet es nicht.

Wenn Sie die alte StandardAnalyzer Logik (in Version 3.1 und früher) verwenden möchten, sollten Sie stattdessen ClassicAnalyzer verwenden.

+0

danke für deine antwort. Aha . Gibt es dann Anwendungsfälle für Version? Was passiert, wenn ich in Zukunft zum Beispiel auf Lucene 6.3 aufrüste? –

+0

Oh, es gibt noch Analysatoren, die es unter anderem verwenden. StandardAnalyzer funktioniert einfach nicht. Wie es funktioniert, hat sich seit einiger Zeit nicht wirklich verändert. – femtoRgon

Verwandte Themen